mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
22859 lines
1.1 MiB
Plaintext
22859 lines
1.1 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_0209A524 @ 0x209a524
|
|
void Gambit_fn_0209A524(CPUState* cpu) {
|
|
L_0209A524: ; // 0x209a524
|
|
/* 0209A524 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A528 */ goto L_0209B564;
|
|
L_0209B564: ; // 0x209b564
|
|
/* 0209B564 */ return;
|
|
}
|
|
|
|
// fn_0209A52C @ 0x209a52c
|
|
void Gambit_fn_0209A52C(CPUState* cpu) {
|
|
L_0209A52C: ; // 0x209a52c
|
|
/* 0209A52C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A530 */ goto L_0209B568;
|
|
L_0209B568: ; // 0x209b568
|
|
/* 0209B568 */ return;
|
|
}
|
|
|
|
// fn_0209A534 @ 0x209a534
|
|
void Gambit_fn_0209A534(CPUState* cpu) {
|
|
L_0209A534: ; // 0x209a534
|
|
/* 0209A534 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A538 */ goto L_0209B56C;
|
|
L_0209B56C: ; // 0x209b56c
|
|
/* 0209B56C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209B570 */ return;
|
|
}
|
|
|
|
// fn_0209A53C @ 0x209a53c
|
|
void Gambit_fn_0209A53C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A53C: ; // 0x209a53c
|
|
/* 0209A53C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A540 */ goto L_0209B574;
|
|
L_0209B574: ; // 0x209b574
|
|
/* 0209B574 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209B574 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209B578 */ return;
|
|
}
|
|
|
|
// fn_0209A544 @ 0x209a544
|
|
void Gambit_fn_0209A544(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A544: ; // 0x209a544
|
|
/* 0209A544 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A548 */ goto L_0209B584;
|
|
L_0209B584: ; // 0x209b584
|
|
/* 0209B584 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209B584 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209B588 */ return;
|
|
}
|
|
|
|
// fn_0209A54C @ 0x209a54c
|
|
void Gambit_fn_0209A54C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209A54C: ; // 0x209a54c
|
|
/* 0209A54C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209A550 */ goto L_0209B58C;
|
|
L_0209B58C: ; // 0x209b58c
|
|
/* 0209B58C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209B58C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B590 */ return;
|
|
}
|
|
|
|
// fn_0209A554 @ 0x209a554
|
|
void Gambit_fn_0209A554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0209A554: ; // 0x209a554
|
|
/* 0209A554 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A558 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A558 */ cpu->r[1] = _t0;
|
|
/* 0209A55C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A55C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A560 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A560 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A564 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A568 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A56C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A56C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A570 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A570 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A570 */ if (_t5) goto L_0209A574; else goto L_0209A584;
|
|
L_0209A574: ; // 0x209a574
|
|
/* 0209A574 */ cpu->r[3] = 0x0000005Cu;
|
|
/* 0209A578 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A57C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A57C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A580 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A580 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209A580 */ if (_t7) goto L_0209A620; else goto L_0209A584;
|
|
L_0209A584: ; // 0x209a584
|
|
/* 0209A584 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209A588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A58C */ cpu->r[5] = 0x00000020u;
|
|
/* 0209A590 */ cpu->r[4] = cpu->r[4] + 0x00000B20u;
|
|
/* 0209A594 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209A598 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209A59C */ cpu->r[9] = 0x10010000u;
|
|
/* 0209A5A0 */ cpu->r[7] = cpu->r[7] + 0x00000BA0u;
|
|
/* 0209A5A4 */ cpu->r[9] = cpu->r[9] + 0x00000C28u;
|
|
/* 0209A5A8 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209A5A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0209A5AC */ cpu->r[8] = 0x10010000u;
|
|
/* 0209A5B0 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 0209A5B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209A5B4 */ cpu->r[8] = cpu->r[8] + 0x00000C18u;
|
|
/* 0209A5B8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209A5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A5BC */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209A5BC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0209A5C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A5C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209A5C0 */ if (_t12) goto L_0209A5C4; else goto L_0209A5D4;
|
|
L_0209A5C4: ; // 0x209a5c4
|
|
/* 0209A5C4 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209A5C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A5D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A5D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209A5D0 */ if (_t14) goto L_0209A5F8; else goto L_0209A5D4;
|
|
L_0209A5D4: ; // 0x209a5d4
|
|
/* 0209A5D4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209A5D8 */ cpu->r[10] = cpu->r[10] + 0x00000B00u;
|
|
/* 0209A5DC */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209A5DC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0209A5E0 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 0209A5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A5E4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A5E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0209A5E8 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0209A5E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A5EC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0209A5EC */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0209A5F0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0209A5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209A5F4 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0209A5F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0209A5F8: ; // 0x209a5f8
|
|
/* 0209A5F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0209A5FC */ _t22 = cpu->r[31] + 0x00000044u;
|
|
/* 0209A5FC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 0209A600 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A600 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 0209A604 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A604 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0209A608 */ _t25 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A608 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0209A60C */ _t26 = cpu->r[31] + 0x00000058u;
|
|
/* 0209A60C */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 0209A610 */ _t27 = cpu->r[31] + 0x00000054u;
|
|
/* 0209A610 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 0209A614 */ _t28 = cpu->r[31] + 0x00000050u;
|
|
/* 0209A614 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 0209A618 */ _t29 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209A618 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 0209A61C */ _t30 = cpu->r[31] + 0x00000048u;
|
|
/* 0209A61C */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
L_0209A620: ; // 0x209a620
|
|
/* 0209A620 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0209A624 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A628 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0209A62C */ cpu->lr = cpu->r[0];
|
|
/* 0209A630 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0209A634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A638 */ return;
|
|
}
|
|
|
|
// fn_0209A558 @ 0x209a558
|
|
void Gambit_fn_0209A558(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0209A558: ; // 0x209a558
|
|
/* 0209A558 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A558 */ cpu->r[1] = _t0;
|
|
/* 0209A55C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A55C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A560 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A560 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A564 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A568 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A56C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A56C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A570 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A570 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A570 */ if (_t5) goto L_0209A574; else goto L_0209A584;
|
|
L_0209A574: ; // 0x209a574
|
|
/* 0209A574 */ cpu->r[3] = 0x0000005Cu;
|
|
/* 0209A578 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A57C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A57C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A580 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A580 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209A580 */ if (_t7) goto L_0209A620; else goto L_0209A584;
|
|
L_0209A584: ; // 0x209a584
|
|
/* 0209A584 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209A588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A58C */ cpu->r[5] = 0x00000020u;
|
|
/* 0209A590 */ cpu->r[4] = cpu->r[4] + 0x00000B20u;
|
|
/* 0209A594 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209A598 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209A59C */ cpu->r[9] = 0x10010000u;
|
|
/* 0209A5A0 */ cpu->r[7] = cpu->r[7] + 0x00000BA0u;
|
|
/* 0209A5A4 */ cpu->r[9] = cpu->r[9] + 0x00000C28u;
|
|
/* 0209A5A8 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209A5A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0209A5AC */ cpu->r[8] = 0x10010000u;
|
|
/* 0209A5B0 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 0209A5B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209A5B4 */ cpu->r[8] = cpu->r[8] + 0x00000C18u;
|
|
/* 0209A5B8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209A5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A5BC */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209A5BC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0209A5C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A5C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209A5C0 */ if (_t12) goto L_0209A5C4; else goto L_0209A5D4;
|
|
L_0209A5C4: ; // 0x209a5c4
|
|
/* 0209A5C4 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209A5C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A5D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A5D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209A5D0 */ if (_t14) goto L_0209A5F8; else goto L_0209A5D4;
|
|
L_0209A5D4: ; // 0x209a5d4
|
|
/* 0209A5D4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209A5D8 */ cpu->r[10] = cpu->r[10] + 0x00000B00u;
|
|
/* 0209A5DC */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209A5DC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0209A5E0 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 0209A5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A5E4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A5E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0209A5E8 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0209A5E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A5EC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0209A5EC */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0209A5F0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0209A5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209A5F4 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0209A5F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0209A5F8: ; // 0x209a5f8
|
|
/* 0209A5F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0209A5FC */ _t22 = cpu->r[31] + 0x00000044u;
|
|
/* 0209A5FC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 0209A600 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A600 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 0209A604 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A604 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0209A608 */ _t25 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A608 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0209A60C */ _t26 = cpu->r[31] + 0x00000058u;
|
|
/* 0209A60C */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 0209A610 */ _t27 = cpu->r[31] + 0x00000054u;
|
|
/* 0209A610 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 0209A614 */ _t28 = cpu->r[31] + 0x00000050u;
|
|
/* 0209A614 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 0209A618 */ _t29 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209A618 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 0209A61C */ _t30 = cpu->r[31] + 0x00000048u;
|
|
/* 0209A61C */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
L_0209A620: ; // 0x209a620
|
|
/* 0209A620 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0209A624 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A628 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0209A62C */ cpu->lr = cpu->r[0];
|
|
/* 0209A630 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0209A634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A638 */ return;
|
|
}
|
|
|
|
// fn_0209A63C @ 0x209a63c
|
|
void Gambit_fn_0209A63C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A63C: ; // 0x209a63c
|
|
/* 0209A63C */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209A63C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A640 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209A640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A644 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209A648 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209A64C */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209A650 */ return;
|
|
}
|
|
|
|
// fn_0209A654 @ 0x209a654
|
|
void Gambit_fn_0209A654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209A654: ; // 0x209a654
|
|
/* 0209A654 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A658 */ cpu->r[1] = _t0;
|
|
/* 0209A65C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A65C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A660 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A664 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A664 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A668 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A66C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A66C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A670 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209A674 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209A678 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A67C */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A67C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A680 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A684 */ _t6 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A688 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A68C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A690 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209A694 */ _t7 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A698 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A69C */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209A69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A6A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A6AC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209A6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A6B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A6B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A6BC */ return;
|
|
}
|
|
|
|
// fn_0209A658 @ 0x209a658
|
|
void Gambit_fn_0209A658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209A658: ; // 0x209a658
|
|
/* 0209A658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A658 */ cpu->r[1] = _t0;
|
|
/* 0209A65C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A65C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A660 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A664 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A664 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A668 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A66C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A66C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209A670 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209A674 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209A678 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A67C */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A67C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A680 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A684 */ _t6 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A688 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A68C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A690 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209A694 */ _t7 = cpu->r[30] + 0x00000038u;
|
|
/* 0209A694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A698 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A69C */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209A69C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A6A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A6AC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209A6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209A6B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A6B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A6BC */ return;
|
|
}
|
|
|
|
// fn_0209A6C0 @ 0x209a6c0
|
|
void Gambit_fn_0209A6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209A6C0: ; // 0x209a6c0
|
|
/* 0209A6C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A6C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A6C4 */ cpu->r[1] = _t0;
|
|
/* 0209A6C8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A6C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A6CC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209A6D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A6D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209A6D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A6D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209A6D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209A6DC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A6E0 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A6E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A6E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A6E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209A6EC */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A6F0 */ _t6 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A6F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A6F4 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A6FC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A6FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209A6FC */ if (_t8) goto L_0209A710; else goto L_0209A700;
|
|
L_0209A700: ; // 0x209a700
|
|
/* 0209A700 */ _t9 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A704 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A708 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A70C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A710: ; // 0x209a710
|
|
/* 0209A710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A714 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A714 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209A714 */ if (_t11) goto L_0209A728; else goto L_0209A718;
|
|
L_0209A718: ; // 0x209a718
|
|
/* 0209A718 */ _t12 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A71C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A720 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A724 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A728: ; // 0x209a728
|
|
/* 0209A728 */ _t13 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A72C */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209A730 */ _t15 = cpu->r[12] + 0x00000164u;
|
|
/* 0209A730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209A734 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A73C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A73C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A740 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A744 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A748 */ cpu->lr = cpu->r[0];
|
|
/* 0209A74C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A74C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A754 */ return;
|
|
}
|
|
|
|
// fn_0209A6C4 @ 0x209a6c4
|
|
void Gambit_fn_0209A6C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209A6C4: ; // 0x209a6c4
|
|
/* 0209A6C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A6C4 */ cpu->r[1] = _t0;
|
|
/* 0209A6C8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A6C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A6CC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209A6D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A6D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209A6D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A6D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209A6D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209A6DC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A6E0 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A6E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A6E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A6E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209A6EC */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A6F0 */ _t6 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A6F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A6F4 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A6FC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A6FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209A6FC */ if (_t8) goto L_0209A710; else goto L_0209A700;
|
|
L_0209A700: ; // 0x209a700
|
|
/* 0209A700 */ _t9 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A704 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A708 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A70C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A710: ; // 0x209a710
|
|
/* 0209A710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A714 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A714 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209A714 */ if (_t11) goto L_0209A728; else goto L_0209A718;
|
|
L_0209A718: ; // 0x209a718
|
|
/* 0209A718 */ _t12 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A71C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A720 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A724 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A728: ; // 0x209a728
|
|
/* 0209A728 */ _t13 = cpu->r[29] + 0x00000038u;
|
|
/* 0209A728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A72C */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209A730 */ _t15 = cpu->r[12] + 0x00000164u;
|
|
/* 0209A730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209A734 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A73C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A73C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A740 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A744 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A748 */ cpu->lr = cpu->r[0];
|
|
/* 0209A74C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A74C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A754 */ return;
|
|
}
|
|
|
|
// fn_0209A758 @ 0x209a758
|
|
void Gambit_fn_0209A758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209A758: ; // 0x209a758
|
|
/* 0209A758 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209A758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A75C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A75C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A760 */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0209A760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209A764 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A768 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209A76C @ 0x209a76c
|
|
void Gambit_fn_0209A76C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209A76C: ; // 0x209a76c
|
|
/* 0209A76C */ cpu->r[0] = cpu->lr;
|
|
/* 0209A770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A770 */ cpu->r[1] = _t0;
|
|
/* 0209A774 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A774 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A77C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A780 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A780 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A784 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A784 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209A788 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A790 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A790 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A790 */ if (_t5) goto L_0209A79C; else goto L_0209A794;
|
|
L_0209A794: ; // 0x209a794
|
|
/* 0209A794 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A798 */ Gambit_fn_0209A758(cpu);
|
|
L_0209A79C: ; // 0x209a79c
|
|
/* 0209A79C */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A79C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A7A0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A7A4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209A7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A7A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A7AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A7B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A7B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A7B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A7B8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A7BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A7C0 */ return;
|
|
}
|
|
|
|
// fn_0209A770 @ 0x209a770
|
|
void Gambit_fn_0209A770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209A770: ; // 0x209a770
|
|
/* 0209A770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A770 */ cpu->r[1] = _t0;
|
|
/* 0209A774 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A774 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A77C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A780 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A780 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A784 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A784 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209A788 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A790 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A790 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A790 */ if (_t5) goto L_0209A79C; else goto L_0209A794;
|
|
L_0209A794: ; // 0x209a794
|
|
/* 0209A794 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A798 */ Gambit_fn_0209A758(cpu);
|
|
L_0209A79C: ; // 0x209a79c
|
|
/* 0209A79C */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0209A79C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A7A0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A7A4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209A7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A7A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A7AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A7B0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A7B4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A7B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A7B8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A7BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A7C0 */ return;
|
|
}
|
|
|
|
// fn_0209A7C4 @ 0x209a7c4
|
|
void Gambit_fn_0209A7C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A7C4: ; // 0x209a7c4
|
|
/* 0209A7C4 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209A7C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A7C8 */ _t1 = cpu->r[12] + 0x00000100u;
|
|
/* 0209A7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0209A7CC */ return;
|
|
}
|
|
|
|
// fn_0209A7D0 @ 0x209a7d0
|
|
void Gambit_fn_0209A7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A7D0: ; // 0x209a7d0
|
|
/* 0209A7D0 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209A7D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A7D4 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209A7D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A7D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209A7DC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209A7E0 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209A7E4 */ return;
|
|
}
|
|
|
|
// fn_0209A7E8 @ 0x209a7e8
|
|
void Gambit_fn_0209A7E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209A7E8: ; // 0x209a7e8
|
|
/* 0209A7E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A7EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A7EC */ cpu->r[1] = _t0;
|
|
/* 0209A7F0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A7F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209A7F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A7F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209A7FC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A7FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209A800 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209A804 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A808 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A80C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A810 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209A814 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A818 */ _t6 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A81C */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A824 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A824 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209A824 */ if (_t8) goto L_0209A838; else goto L_0209A828;
|
|
L_0209A828: ; // 0x209a828
|
|
/* 0209A828 */ _t9 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A82C */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A830 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A834 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A838: ; // 0x209a838
|
|
/* 0209A838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A83C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A83C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209A83C */ if (_t11) goto L_0209A850; else goto L_0209A840;
|
|
L_0209A840: ; // 0x209a840
|
|
/* 0209A840 */ _t12 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A840 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A844 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A848 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A84C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A850: ; // 0x209a850
|
|
/* 0209A850 */ _t13 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A854 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209A858 */ _t15 = cpu->r[12] + 0x000001E4u;
|
|
/* 0209A858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209A85C */ cpu->ctr = cpu->r[0];
|
|
/* 0209A860 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A864 */ cpu->r[5] = cpu->r[31];
|
|
/* 0209A868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A86C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A86C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A870 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A874 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A878 */ cpu->lr = cpu->r[0];
|
|
/* 0209A87C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A87C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A880 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A884 */ return;
|
|
}
|
|
|
|
// fn_0209A7EC @ 0x209a7ec
|
|
void Gambit_fn_0209A7EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209A7EC: ; // 0x209a7ec
|
|
/* 0209A7EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209A7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A7EC */ cpu->r[1] = _t0;
|
|
/* 0209A7F0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A7F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209A7F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A7F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209A7FC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A7FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209A800 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209A804 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A808 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A80C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209A810 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209A814 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A818 */ _t6 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A81C */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209A820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209A824 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A824 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209A824 */ if (_t8) goto L_0209A838; else goto L_0209A828;
|
|
L_0209A828: ; // 0x209a828
|
|
/* 0209A828 */ _t9 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A82C */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A830 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A834 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A838: ; // 0x209a838
|
|
/* 0209A838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209A83C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209A83C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209A83C */ if (_t11) goto L_0209A850; else goto L_0209A840;
|
|
L_0209A840: ; // 0x209a840
|
|
/* 0209A840 */ _t12 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A840 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209A844 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209A848 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A84C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209A850: ; // 0x209a850
|
|
/* 0209A850 */ _t13 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209A850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209A854 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209A858 */ _t15 = cpu->r[12] + 0x000001E4u;
|
|
/* 0209A858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209A85C */ cpu->ctr = cpu->r[0];
|
|
/* 0209A860 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209A864 */ cpu->r[5] = cpu->r[31];
|
|
/* 0209A868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A86C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A86C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209A870 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209A870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209A874 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209A874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209A878 */ cpu->lr = cpu->r[0];
|
|
/* 0209A87C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A87C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209A880 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209A884 */ return;
|
|
}
|
|
|
|
// fn_0209A888 @ 0x209a888
|
|
void Gambit_fn_0209A888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209A888: ; // 0x209a888
|
|
/* 0209A888 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209A888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A88C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A88C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A890 */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0209A890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209A894 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A898 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209A89C @ 0x209a89c
|
|
void Gambit_fn_0209A89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209A89C: ; // 0x209a89c
|
|
/* 0209A89C */ cpu->r[0] = cpu->lr;
|
|
/* 0209A8A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A8A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A8A0 */ cpu->r[1] = _t0;
|
|
/* 0209A8A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A8A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A8A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A8AC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A8B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A8B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A8B4 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A8B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209A8B8 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A8C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A8C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A8C0 */ if (_t5) goto L_0209A8CC; else goto L_0209A8C4;
|
|
L_0209A8C4: ; // 0x209a8c4
|
|
/* 0209A8C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A8C8 */ Gambit_fn_0209A888(cpu);
|
|
L_0209A8CC: ; // 0x209a8cc
|
|
/* 0209A8CC */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A8D0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A8D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A8D4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209A8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A8D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A8E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A8E4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A8E8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A8EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A8F0 */ return;
|
|
}
|
|
|
|
// fn_0209A8A0 @ 0x209a8a0
|
|
void Gambit_fn_0209A8A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209A8A0: ; // 0x209a8a0
|
|
/* 0209A8A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A8A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A8A0 */ cpu->r[1] = _t0;
|
|
/* 0209A8A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A8A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A8A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A8AC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209A8B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A8B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A8B4 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209A8B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209A8B8 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209A8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A8C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A8C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209A8C0 */ if (_t5) goto L_0209A8CC; else goto L_0209A8C4;
|
|
L_0209A8C4: ; // 0x209a8c4
|
|
/* 0209A8C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209A8C8 */ Gambit_fn_0209A888(cpu);
|
|
L_0209A8CC: ; // 0x209a8cc
|
|
/* 0209A8CC */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209A8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A8D0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A8D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A8D4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209A8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A8D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209A8E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A8E4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209A8E8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A8EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A8F0 */ return;
|
|
}
|
|
|
|
// fn_0209A8F4 @ 0x209a8f4
|
|
void Gambit_fn_0209A8F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209A8F4: ; // 0x209a8f4
|
|
/* 0209A8F4 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209A8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A8F8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A8F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A8FC */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209A8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209A900 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A904 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209A908 @ 0x209a908
|
|
void Gambit_fn_0209A908(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A908: ; // 0x209a908
|
|
/* 0209A908 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209A908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A90C */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209A90C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A910 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209A914 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209A918 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209A91C */ return;
|
|
}
|
|
|
|
// fn_0209A920 @ 0x209a920
|
|
void Gambit_fn_0209A920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209A920: ; // 0x209a920
|
|
/* 0209A920 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A924 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A924 */ cpu->r[1] = _t0;
|
|
/* 0209A928 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A928 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A92C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A930 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A930 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A934 */ Gambit_fn_0209A908(cpu);
|
|
/* 0209A938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A93C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A93C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209A93C */ if (_t4) goto L_0209A95C; else goto L_0209A940;
|
|
L_0209A940: ; // 0x209a940
|
|
/* 0209A940 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0209A940 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A944 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A948 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A94C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209A950 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A954 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209A958 */ Gambit_fn_020B8610(cpu);
|
|
L_0209A95C: ; // 0x209a95c
|
|
/* 0209A95C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A960 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A960 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A964 */ cpu->lr = cpu->r[0];
|
|
/* 0209A968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A96C */ return;
|
|
}
|
|
|
|
// fn_0209A924 @ 0x209a924
|
|
void Gambit_fn_0209A924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209A924: ; // 0x209a924
|
|
/* 0209A924 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A924 */ cpu->r[1] = _t0;
|
|
/* 0209A928 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A928 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A92C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A930 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A930 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A934 */ Gambit_fn_0209A908(cpu);
|
|
/* 0209A938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A93C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A93C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209A93C */ if (_t4) goto L_0209A95C; else goto L_0209A940;
|
|
L_0209A940: ; // 0x209a940
|
|
/* 0209A940 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0209A940 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A944 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209A948 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A94C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209A950 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A954 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209A958 */ Gambit_fn_020B8610(cpu);
|
|
L_0209A95C: ; // 0x209a95c
|
|
/* 0209A95C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209A960 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A960 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209A964 */ cpu->lr = cpu->r[0];
|
|
/* 0209A968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A96C */ return;
|
|
}
|
|
|
|
// fn_0209A970 @ 0x209a970
|
|
void Gambit_fn_0209A970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209A970: ; // 0x209a970
|
|
/* 0209A970 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209A970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A974 */ goto L_0209BD70;
|
|
L_0209BD70: ; // 0x209bd70
|
|
/* 0209BD70 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BD74 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BD74 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209BD74 */ cpu->r[1] = _t1;
|
|
/* 0209BD78 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209BD7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BD80 */ _t4 = cpu->r[3] + 0x00000228u;
|
|
/* 0209BD80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0209BD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BD88 */ cpu->r[31] = 0x00000000u;
|
|
/* 0209BD8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BD8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BD8C */ if (_t6) goto L_0209BD90; else goto L_0209BDA4;
|
|
L_0209BD90: ; // 0x209bd90
|
|
/* 0209BD90 */ _t7 = cpu->r[3] + 0x00000224u;
|
|
/* 0209BD90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BD94 */ Gambit_fn_020C3920(cpu);
|
|
/* 0209BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BD9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BD9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209BD9C */ if (_t9) goto L_0209BDA4; else goto L_0209BDA0;
|
|
L_0209BDA0: ; // 0x209bda0
|
|
/* 0209BDA0 */ cpu->r[31] = 0x00000001u;
|
|
L_0209BDA4: ; // 0x209bda4
|
|
/* 0209BDA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209BDA8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209BDAC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BDAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209BDB0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BDB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BDB8 */ return;
|
|
}
|
|
|
|
// fn_0209A978 @ 0x209a978
|
|
void Gambit_fn_0209A978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209A978: ; // 0x209a978
|
|
/* 0209A978 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A97C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A97C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A97C */ cpu->r[1] = _t0;
|
|
/* 0209A980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A984 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A98C */ Gambit_fn_0209A970(cpu);
|
|
/* 0209A990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A994 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A994 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209A994 */ if (_t4) goto L_0209A9A0; else goto L_0209A998;
|
|
L_0209A998: ; // 0x209a998
|
|
/* 0209A998 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A99C */ Gambit_fn_0209BCCC(cpu);
|
|
L_0209A9A0: ; // 0x209a9a0
|
|
/* 0209A9A0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A9A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A9A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A9A8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A9AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A9B0 */ return;
|
|
}
|
|
|
|
// fn_0209A97C @ 0x209a97c
|
|
void Gambit_fn_0209A97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209A97C: ; // 0x209a97c
|
|
/* 0209A97C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A97C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A97C */ cpu->r[1] = _t0;
|
|
/* 0209A980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209A984 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209A988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209A98C */ Gambit_fn_0209A970(cpu);
|
|
/* 0209A990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209A994 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209A994 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209A994 */ if (_t4) goto L_0209A9A0; else goto L_0209A998;
|
|
L_0209A998: ; // 0x209a998
|
|
/* 0209A998 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 0209A998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209A99C */ Gambit_fn_0209BCCC(cpu);
|
|
L_0209A9A0: ; // 0x209a9a0
|
|
/* 0209A9A0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209A9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209A9A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A9A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209A9A8 */ cpu->lr = cpu->r[0];
|
|
/* 0209A9AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209A9B0 */ return;
|
|
}
|
|
|
|
// fn_0209A9B4 @ 0x209a9b4
|
|
void Gambit_fn_0209A9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209A9B4: ; // 0x209a9b4
|
|
/* 0209A9B4 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209A9B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A9B8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209A9B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A9BC */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209A9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209A9C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209A9C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209A9C8 @ 0x209a9c8
|
|
void Gambit_fn_0209A9C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A9C8: ; // 0x209a9c8
|
|
/* 0209A9C8 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209A9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A9CC */ goto L_0209BDBC;
|
|
L_0209BDBC: ; // 0x209bdbc
|
|
/* 0209BDBC */ _t1 = cpu->r[3] + 0x00000229u;
|
|
/* 0209BDBC */ cpu->r[3] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0209BDC0 */ return;
|
|
}
|
|
|
|
// fn_0209A9D0 @ 0x209a9d0
|
|
void Gambit_fn_0209A9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209A9D0: ; // 0x209a9d0
|
|
/* 0209A9D0 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 0209A9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209A9D4 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209A9D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209A9D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209A9DC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209A9E0 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209A9E4 */ return;
|
|
}
|
|
|
|
// fn_0209A9E8 @ 0x209a9e8
|
|
void Gambit_fn_0209A9E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209A9E8: ; // 0x209a9e8
|
|
/* 0209A9E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209A9EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A9EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A9EC */ cpu->r[1] = _t0;
|
|
/* 0209A9F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A9F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A9F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A9F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A9F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A9FC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AA00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209AA04 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AA04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AA08 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209AA0C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AA10 */ _t5 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AA14 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AA18 */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AA1C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AA20 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AA24 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AA28 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AA2C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AA2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AA30 */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AA34 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AA38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AA3C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AA40 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AA44 */ cpu->lr = cpu->r[0];
|
|
/* 0209AA48 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AA50 */ return;
|
|
}
|
|
|
|
// fn_0209A9EC @ 0x209a9ec
|
|
void Gambit_fn_0209A9EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209A9EC: ; // 0x209a9ec
|
|
/* 0209A9EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209A9EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209A9EC */ cpu->r[1] = _t0;
|
|
/* 0209A9F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209A9F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209A9F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209A9F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209A9F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209A9FC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AA00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209AA04 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AA04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AA08 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209AA0C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AA10 */ _t5 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AA14 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AA18 */ _t6 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AA1C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AA20 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AA24 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AA28 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 0209AA28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AA2C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AA2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AA30 */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AA30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AA34 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AA38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AA3C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AA40 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AA44 */ cpu->lr = cpu->r[0];
|
|
/* 0209AA48 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AA50 */ return;
|
|
}
|
|
|
|
// fn_0209AA54 @ 0x209aa54
|
|
void Gambit_fn_0209AA54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209AA54: ; // 0x209aa54
|
|
/* 0209AA54 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 0209AA54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AA58 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AA58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AA5C */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0209AA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AA60 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AA64 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209AA68 @ 0x209aa68
|
|
void Gambit_fn_0209AA68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AA68: ; // 0x209aa68
|
|
/* 0209AA68 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AA6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AA6C */ cpu->r[1] = _t0;
|
|
/* 0209AA70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AA70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AA74 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AA78 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AA7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AA80 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AA84 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AA8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AA8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AA8C */ if (_t5) goto L_0209AA98; else goto L_0209AA90;
|
|
L_0209AA90: ; // 0x209aa90
|
|
/* 0209AA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AA94 */ Gambit_fn_0209AA54(cpu);
|
|
L_0209AA98: ; // 0x209aa98
|
|
/* 0209AA98 */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0209AA98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AA9C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AA9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AAA0 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AAA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AAA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AAAC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AAB0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AAB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AAB4 */ cpu->lr = cpu->r[0];
|
|
/* 0209AAB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AABC */ return;
|
|
}
|
|
|
|
// fn_0209AA6C @ 0x209aa6c
|
|
void Gambit_fn_0209AA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AA6C: ; // 0x209aa6c
|
|
/* 0209AA6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AA6C */ cpu->r[1] = _t0;
|
|
/* 0209AA70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AA70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AA74 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AA78 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AA7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AA80 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AA84 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AA8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AA8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AA8C */ if (_t5) goto L_0209AA98; else goto L_0209AA90;
|
|
L_0209AA90: ; // 0x209aa90
|
|
/* 0209AA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AA94 */ Gambit_fn_0209AA54(cpu);
|
|
L_0209AA98: ; // 0x209aa98
|
|
/* 0209AA98 */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0209AA98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AA9C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AA9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AAA0 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AAA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AAA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AAAC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AAB0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AAB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AAB4 */ cpu->lr = cpu->r[0];
|
|
/* 0209AAB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AABC */ return;
|
|
}
|
|
|
|
// fn_0209AAC0 @ 0x209aac0
|
|
void Gambit_fn_0209AAC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02099658: ; // 0x2099658
|
|
/* 02099658 */ _t0 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02099658 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209965C */ goto L_020D4900;
|
|
L_0209AAC0: ; // 0x209aac0
|
|
/* 0209AAC0 */ _t1 = cpu->r[3] + 0x00000044u;
|
|
/* 0209AAC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AAC4 */ goto L_02099658;
|
|
L_020D4900: ; // 0x20d4900
|
|
/* 020D4900 */ cpu->r[0] = cpu->lr;
|
|
/* 020D4904 */ _t2 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 020D4904 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 020D4904 */ cpu->r[1] = _t2;
|
|
/* 020D4908 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 020D4908 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 020D490C */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020D490C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 020D4910 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 020D4910 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 020D4914 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 020D4914 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 020D4918 */ _t7 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020D4918 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 020D491C */ _t8 = cpu->r[3] + 0x0000022Cu;
|
|
/* 020D491C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020D4920 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[0]);
|
|
/* 020D4924 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[0]);
|
|
/* 020D4928 */ _t9 = cpu->r[3] + 0x00000214u;
|
|
/* 020D4928 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 020D492C */ _t10 = cpu->r[3] + 0x00000218u;
|
|
/* 020D492C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 020D4930 */ _t11 = cpu->r[3] + 0x0000021Cu;
|
|
/* 020D4930 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 020D4934 */ _t12 = cpu->r[3] + 0x00000220u;
|
|
/* 020D4934 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 020D4938 */ _t13 = cpu->r[3] + 0x00000224u;
|
|
/* 020D4938 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 020D493C */ cpu->r[31] = cpu->r[3];
|
|
/* 020D4940 */ _t14 = cpu->r[3] + 0x00000228u;
|
|
/* 020D4940 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 020D4944 */ Gambit_fn_020D48A4(cpu);
|
|
/* 020D4948 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D494C */ Gambit_fn_020D486C(cpu);
|
|
/* 020D4950 */ cpu->r[29] = 0x10020000u;
|
|
/* 020D4954 */ cpu->r[30] = 0x10020000u;
|
|
/* 020D4958 */ cpu->r[28] = cpu->r[3];
|
|
/* 020D4958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 020D495C */ cpu->r[29] = cpu->r[29] + 0xFFFF8648u;
|
|
/* 020D4960 */ cpu->r[30] = cpu->r[30] + 0xFFFF86C8u;
|
|
/* 020D4964 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4968 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4968 */ _t16 = _t15 & 0x00000001u;
|
|
/* 020D4968 */ if (_t16) goto L_020D49B4; else goto L_020D496C;
|
|
L_020D496C: ; // 0x20d496c
|
|
/* 020D496C */ _t17 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D496C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020D4970 */ cpu->r[7] = 0x10020000u;
|
|
/* 020D4974 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020D4974 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 020D4978 */ cpu->r[7] = cpu->r[7] + 0xFFFF86D4u;
|
|
/* 020D497C */ cpu->r[4] = cpu->r[9] + 0x00000002u;
|
|
/* 020D4980 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020D4984 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 020D4984 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 020D4988 */ Gambit_fn_027ED700(cpu);
|
|
/* 020D498C */ _t20 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D498C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020D4990 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4994 */ _t21 = cpu->r[31] + 0x00000230u;
|
|
/* 020D4994 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 020D4998 */ cpu->r[4] = cpu->r[10] + 0x00000001u;
|
|
/* 020D499C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020D499C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 020D49A0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020D49A4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 020D49A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 020D49A8 */ Gambit_fn_027ED2B0(cpu);
|
|
/* 020D49AC */ _t24 = cpu->r[31] + 0x00000236u;
|
|
/* 020D49AC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[28]);
|
|
/* 020D49B0 */ goto L_020D4A30;
|
|
L_020D49B4: ; // 0x20d49b4
|
|
/* 020D49B4 */ _t25 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D49B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 020D49B8 */ cpu->r[11] = 0x10020000u;
|
|
/* 020D49BC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 020D49BC */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 020D49C0 */ cpu->r[11] = cpu->r[11] + 0xFFFF86BCu;
|
|
/* 020D49C4 */ cpu->r[4] = cpu->r[12] + 0x00000002u;
|
|
/* 020D49C8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 020D49CC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 020D49CC */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 020D49D0 */ Gambit_fn_027ED700(cpu);
|
|
/* 020D49D4 */ _t28 = cpu->r[31] + 0x00000234u;
|
|
/* 020D49D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 020D49D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020D49DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020D49E0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D49E0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 020D49E0 */ if (_t30) goto L_020D4A14; else goto L_020D49E4;
|
|
L_020D49E4: ; // 0x20d49e4
|
|
/* 020D49E4 */ _t31 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D49E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 020D49E8 */ cpu->r[0] = 0x10020000u;
|
|
/* 020D49EC */ cpu->r[8] = 0x10020000u;
|
|
/* 020D49F0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020D49F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 020D49F4 */ cpu->r[0] = cpu->r[0] + 0xFFFF86E0u;
|
|
/* 020D49F8 */ _t33 = cpu->r[8] + 0xFFFF86B8u;
|
|
/* 020D49F8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 020D49FC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 020D4A00 */ cpu->r[4] = cpu->r[9] + 0x00000001u;
|
|
/* 020D4A04 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 020D4A04 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 020D4A08 */ Gambit_fn_027ED2B0(cpu);
|
|
/* 020D4A0C */ _t35 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4A0C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[28]);
|
|
/* 020D4A10 */ goto L_020D4A30;
|
|
L_020D4A14: ; // 0x20d4a14
|
|
/* 020D4A14 */ _t36 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D4A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 020D4A18 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 020D4A18 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 020D4A1C */ cpu->r[4] = cpu->r[10] + 0x00000001u;
|
|
/* 020D4A20 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 020D4A20 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 020D4A24 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 020D4A28 */ Gambit_fn_027ED858(cpu);
|
|
/* 020D4A2C */ _t39 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4A2C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[28]);
|
|
L_020D4A30: ; // 0x20d4a30
|
|
/* 020D4A30 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 020D4A30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 020D4A34 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020D4A34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 020D4A38 */ _t42 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020D4A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 020D4A3C */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 020D4A3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 020D4A40 */ cpu->lr = cpu->r[0];
|
|
/* 020D4A44 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 020D4A44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 020D4A48 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 020D4A4C */ return;
|
|
}
|
|
|
|
// fn_0209AAC8 @ 0x209aac8
|
|
void Gambit_fn_0209AAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_02099660: ; // 0x2099660
|
|
/* 02099660 */ _t0 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02099660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099664 */ goto L_020D4A94;
|
|
L_0209AAC8: ; // 0x209aac8
|
|
/* 0209AAC8 */ _t1 = cpu->r[3] + 0x00000044u;
|
|
/* 0209AAC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AACC */ goto L_02099660;
|
|
L_020D4A94: ; // 0x20d4a94
|
|
/* 020D4A94 */ cpu->r[0] = cpu->lr;
|
|
/* 020D4A98 */ _t2 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 020D4A98 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 020D4A98 */ cpu->r[1] = _t2;
|
|
/* 020D4A9C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 020D4A9C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 020D4AA0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 020D4AA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 020D4AA4 */ /* nop */
|
|
/* 020D4AA8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020D4AA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020D4AAC */ _t6 = cpu->r[1] + 0x00000048u;
|
|
/* 020D4AAC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 020D4AB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020D4AB4 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 020D4AB4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 020D4AB8 */ _t8 = cpu->r[1] + 0x00000054u;
|
|
/* 020D4AB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 020D4ABC */ _t9 = cpu->r[31] + 0x00000235u;
|
|
/* 020D4ABC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 020D4AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020D4AC4 */ _t10 = cpu->r[31] + 0x0000021Cu;
|
|
/* 020D4AC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 020D4AC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4AC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020D4AC8 */ if (_t12) goto L_020D4B20; else goto L_020D4ACC;
|
|
L_020D4ACC: ; // 0x20d4acc
|
|
/* 020D4ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 020D4AD0 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020D4AD0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 020D4AD0 */ if (_t14) goto L_020D4AD4; else goto L_020D4B2C;
|
|
L_020D4AD4: ; // 0x20d4ad4
|
|
/* 020D4AD4 */ _t15 = cpu->r[31] + 0x0000022Cu;
|
|
/* 020D4AD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020D4AD8 */ cpu->r[6] = cpu->r[4] + cpu->r[10];
|
|
/* 020D4ADC */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 020D4AE0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] / (int32_t)cpu->r[10]);
|
|
/* 020D4AE4 */ _t16 = cpu->r[31] + 0x00000218u;
|
|
/* 020D4AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020D4AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 020D4AEC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020D4AEC */ _t18 = _t17 & 0x00000001u;
|
|
/* 020D4AEC */ if (_t18) goto L_020D4AF0; else goto L_020D4B30;
|
|
L_020D4AF0: ; // 0x20d4af0
|
|
/* 020D4AF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4AF4 */ cpu->r[9] = cpu->r[0];
|
|
/* 020D4AF8 */ Gambit_fn_020D486C(cpu);
|
|
/* 020D4AFC */ cpu->r[30] = 0x10020000u;
|
|
/* 020D4B00 */ _t19 = cpu->r[31] + 0x00000220u;
|
|
/* 020D4B00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020D4B04 */ cpu->r[29] = cpu->r[3];
|
|
/* 020D4B08 */ cpu->r[30] = cpu->r[30] + 0xFFFF8648u;
|
|
/* 020D4B0C */ cpu->r[10] = 0x10020000u;
|
|
/* 020D4B10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]);
|
|
/* 020D4B14 */ _t20 = cpu->r[10] + 0xFFFF86B8u;
|
|
/* 020D4B14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 020D4B18 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4B18 */ _t22 = _t21 & 0x00000001u;
|
|
/* 020D4B18 */ if (_t22) goto L_020D4BBC; else goto L_020D4B1C;
|
|
L_020D4B1C: ; // 0x20d4b1c
|
|
/* 020D4B1C */ goto L_020D4B58;
|
|
L_020D4B20: ; // 0x20d4b20
|
|
/* 020D4B20 */ _t23 = cpu->r[31] + 0x0000022Cu;
|
|
/* 020D4B20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 020D4B24 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[4] / (int32_t)cpu->r[8]);
|
|
/* 020D4B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 020D4B28 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020D4B28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 020D4B28 */ if (_t25) goto L_020D4B2C; else goto L_020D4B30;
|
|
L_020D4B2C: ; // 0x20d4b2c
|
|
/* 020D4B2C */ cpu->r[9] = 0x00000000u;
|
|
L_020D4B30: ; // 0x20d4b30
|
|
/* 020D4B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4B34 */ Gambit_fn_020D486C(cpu);
|
|
/* 020D4B38 */ cpu->r[30] = 0x10020000u;
|
|
/* 020D4B3C */ _t26 = cpu->r[31] + 0x00000220u;
|
|
/* 020D4B3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 020D4B40 */ cpu->r[29] = cpu->r[3];
|
|
/* 020D4B44 */ cpu->r[30] = cpu->r[30] + 0xFFFF8648u;
|
|
/* 020D4B48 */ cpu->r[10] = 0x10020000u;
|
|
/* 020D4B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]);
|
|
/* 020D4B50 */ _t27 = cpu->r[10] + 0xFFFF86B8u;
|
|
/* 020D4B50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 020D4B54 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4B54 */ _t29 = _t28 & 0x00000001u;
|
|
/* 020D4B54 */ if (_t29) goto L_020D4BBC; else goto L_020D4B58;
|
|
L_020D4B58: ; // 0x20d4b58
|
|
/* 020D4B58 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4B5C */ _t30 = cpu->r[31] + 0x00000220u;
|
|
/* 020D4B5C */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 020D4B60 */ Gambit_fn_020D48A4(cpu);
|
|
/* 020D4B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 020D4B68 */ _t31 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D4B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 020D4B6C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4B6C */ _t33 = _t32 & 0x00000001u;
|
|
/* 020D4B6C */ if (_t33) goto L_020D4B98; else goto L_020D4B70;
|
|
L_020D4B70: ; // 0x20d4b70
|
|
/* 020D4B70 */ cpu->r[9] = 0x10020000u;
|
|
/* 020D4B74 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020D4B74 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 020D4B78 */ cpu->f[1] = cpu->f[31];
|
|
/* 020D4B7C */ cpu->r[9] = cpu->r[9] + 0xFFFF8704u;
|
|
/* 020D4B80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 020D4B84 */ cpu->r[4] = cpu->r[12] + 0x00000002u;
|
|
/* 020D4B88 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4B8C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 020D4B8C */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 020D4B90 */ Gambit_fn_027ED2B0(cpu);
|
|
/* 020D4B94 */ goto L_020D4BBC;
|
|
L_020D4B98: ; // 0x20d4b98
|
|
/* 020D4B98 */ cpu->r[0] = 0x10020000u;
|
|
/* 020D4B9C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 020D4B9C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 020D4BA0 */ cpu->f[1] = cpu->f[31];
|
|
/* 020D4BA4 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 020D4BA8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 020D4BAC */ cpu->r[4] = cpu->r[12] + 0x00000002u;
|
|
/* 020D4BB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4BB4 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 020D4BB4 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 020D4BB8 */ Gambit_fn_027ED2B0(cpu);
|
|
L_020D4BBC: ; // 0x20d4bbc
|
|
/* 020D4BBC */ _t38 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4BBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 020D4BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020D4BC4 */ cpu->r[0] = 0x10020000u;
|
|
/* 020D4BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFF86F8u;
|
|
/* 020D4BCC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4BCC */ _t40 = _t39 & 0x00000001u;
|
|
/* 020D4BCC */ if (_t40) goto L_020D4BD0; else goto L_020D4C00;
|
|
L_020D4BD0: ; // 0x20d4bd0
|
|
/* 020D4BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 020D4BD4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4BD4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 020D4BD4 */ if (_t42) goto L_020D4C5C; else goto L_020D4BD8;
|
|
L_020D4BD8: ; // 0x20d4bd8
|
|
/* 020D4BD8 */ _t43 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D4BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 020D4BDC */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4BE0 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020D4BE0 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 020D4BE4 */ _t45 = cpu->r[31] + 0x00000230u;
|
|
/* 020D4BE4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 020D4BE8 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 020D4BEC */ cpu->r[4] = cpu->r[12] + 0x00000001u;
|
|
/* 020D4BF0 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 020D4BF0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 020D4BF4 */ Gambit_fn_027ED2B0(cpu);
|
|
/* 020D4BF8 */ _t47 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4BF8 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[29]);
|
|
/* 020D4BFC */ goto L_020D4C60;
|
|
L_020D4C00: ; // 0x20d4c00
|
|
/* 020D4C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 020D4C04 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4C04 */ _t49 = _t48 & 0x00000001u;
|
|
/* 020D4C04 */ if (_t49) goto L_020D4C08; else goto L_020D4C5C;
|
|
L_020D4C08: ; // 0x20d4c08
|
|
/* 020D4C08 */ _t50 = cpu->r[31] + 0x00000234u;
|
|
/* 020D4C08 */ cpu->r[6] = rbrew_read8(cpu->mem, _t50);
|
|
/* 020D4C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 020D4C10 */ cpu->r[3] = cpu->r[31];
|
|
/* 020D4C14 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020D4C14 */ _t52 = _t51 & 0x00000001u;
|
|
/* 020D4C14 */ if (_t52) goto L_020D4C44; else goto L_020D4C18;
|
|
L_020D4C18: ; // 0x20d4c18
|
|
/* 020D4C18 */ cpu->r[7] = 0x10020000u;
|
|
/* 020D4C1C */ _t53 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D4C1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 020D4C20 */ cpu->f[1] = cpu->f[31];
|
|
/* 020D4C24 */ cpu->r[7] = cpu->r[7] + 0xFFFF8710u;
|
|
/* 020D4C28 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 020D4C28 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 020D4C2C */ cpu->r[4] = cpu->r[8] + 0x00000001u;
|
|
/* 020D4C30 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 020D4C34 */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 020D4C34 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 020D4C38 */ Gambit_fn_027ED2B0(cpu);
|
|
/* 020D4C3C */ _t56 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4C3C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[29]);
|
|
/* 020D4C40 */ goto L_020D4C60;
|
|
L_020D4C44: ; // 0x20d4c44
|
|
/* 020D4C44 */ _t57 = cpu->r[31] + 0x000001DCu;
|
|
/* 020D4C44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 020D4C48 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 020D4C4C */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020D4C4C */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
|
|
/* 020D4C50 */ cpu->r[4] = cpu->r[9] + 0x00000001u;
|
|
/* 020D4C54 */ _t59 = cpu->r[1] + 0x00000028u;
|
|
/* 020D4C54 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 020D4C58 */ Gambit_fn_027ED858(cpu);
|
|
L_020D4C5C: ; // 0x20d4c5c
|
|
/* 020D4C5C */ _t60 = cpu->r[31] + 0x00000236u;
|
|
/* 020D4C5C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[29]);
|
|
L_020D4C60: ; // 0x20d4c60
|
|
/* 020D4C60 */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 020D4C60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 020D4C64 */ _t62 = cpu->r[1] + 0x00000048u;
|
|
/* 020D4C64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 020D4C68 */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 020D4C68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 020D4C6C */ _t64 = cpu->r[1] + 0x00000040u;
|
|
/* 020D4C6C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 020D4C70 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 020D4C70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 020D4C74 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020D4C74 */ _t67 = _t66 & 0x00000001u;
|
|
/* 020D4C74 */ if (_t67) goto L_020D4C78; // else: addr-0 trap, fall-through
|
|
L_020D4C78: ; // 0x20d4c78
|
|
/* 020D4C78 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 020D4C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 020D4C7C */ cpu->lr = cpu->r[0];
|
|
/* 020D4C80 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 020D4C84 */ return;
|
|
}
|
|
|
|
// fn_0209AAD0 @ 0x209aad0
|
|
void Gambit_fn_0209AAD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02099668: ; // 0x2099668
|
|
/* 02099668 */ _t0 = cpu->r[3] + 0x0000021Cu;
|
|
/* 02099668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209966C */ _t1 = cpu->r[12] + 0x0000021Cu;
|
|
/* 0209966C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02099670 */ return;
|
|
L_0209AAD0: ; // 0x209aad0
|
|
/* 0209AAD0 */ _t2 = cpu->r[3] + 0x00000044u;
|
|
/* 0209AAD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AAD4 */ goto L_02099668;
|
|
}
|
|
|
|
// fn_0209AAD8 @ 0x209aad8
|
|
void Gambit_fn_0209AAD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209AAD8: ; // 0x209aad8
|
|
/* 0209AAD8 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0209AAD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AADC */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209AADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AAE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209AAE4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209AAE8 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209AAEC */ return;
|
|
}
|
|
|
|
// fn_0209AAF0 @ 0x209aaf0
|
|
void Gambit_fn_0209AAF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209AAF0: ; // 0x209aaf0
|
|
/* 0209AAF0 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0209AAF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AAF4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AAF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AAF8 */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209AAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AAFC */ cpu->ctr = cpu->r[0];
|
|
/* 0209AB00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209AB04 @ 0x209ab04
|
|
void Gambit_fn_0209AB04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209AB04: ; // 0x209ab04
|
|
/* 0209AB04 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AB08 */ cpu->r[1] = _t0;
|
|
/* 0209AB0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AB10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AB14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AB18 */ cpu->r[30] = cpu->r[5];
|
|
/* 0209AB1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209AB20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AB20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AB24 */ cpu->r[29] = cpu->r[4];
|
|
/* 0209AB28 */ Gambit_fn_0209AAD8(cpu);
|
|
/* 0209AB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AB30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AB30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AB30 */ if (_t6) goto L_0209AB34; else goto L_0209AB3C;
|
|
L_0209AB34: ; // 0x209ab34
|
|
/* 0209AB34 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AB38 */ Gambit_fn_0209AAF0(cpu);
|
|
L_0209AB3C: ; // 0x209ab3c
|
|
/* 0209AB3C */ _t7 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AB40 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AB44 */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AB48 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209AB4C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AB50 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AB54 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AB58 */ cpu->r[4] = cpu->r[29];
|
|
/* 0209AB5C */ Gambit_fn_02099BAC(cpu);
|
|
/* 0209AB60 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AB64 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AB64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AB68 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AB6C */ cpu->lr = cpu->r[0];
|
|
/* 0209AB70 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209AB74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AB78 */ return;
|
|
}
|
|
|
|
// fn_0209AB08 @ 0x209ab08
|
|
void Gambit_fn_0209AB08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209AB08: ; // 0x209ab08
|
|
/* 0209AB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AB08 */ cpu->r[1] = _t0;
|
|
/* 0209AB0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AB10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AB14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AB18 */ cpu->r[30] = cpu->r[5];
|
|
/* 0209AB1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209AB20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AB20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AB24 */ cpu->r[29] = cpu->r[4];
|
|
/* 0209AB28 */ Gambit_fn_0209AAD8(cpu);
|
|
/* 0209AB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AB30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AB30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AB30 */ if (_t6) goto L_0209AB34; else goto L_0209AB3C;
|
|
L_0209AB34: ; // 0x209ab34
|
|
/* 0209AB34 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AB38 */ Gambit_fn_0209AAF0(cpu);
|
|
L_0209AB3C: ; // 0x209ab3c
|
|
/* 0209AB3C */ _t7 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AB40 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AB44 */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AB48 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209AB4C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AB50 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AB54 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AB54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AB58 */ cpu->r[4] = cpu->r[29];
|
|
/* 0209AB5C */ Gambit_fn_02099BAC(cpu);
|
|
/* 0209AB60 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AB64 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AB64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AB68 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AB6C */ cpu->lr = cpu->r[0];
|
|
/* 0209AB70 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209AB74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AB78 */ return;
|
|
}
|
|
|
|
// fn_0209AB7C @ 0x209ab7c
|
|
void Gambit_fn_0209AB7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209AB7C: ; // 0x209ab7c
|
|
/* 0209AB7C */ cpu->r[0] = cpu->lr;
|
|
/* 0209AB80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AB80 */ cpu->r[1] = _t0;
|
|
/* 0209AB84 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AB88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AB88 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0209AB8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB8C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209AB90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AB94 */ cpu->r[30] = cpu->r[6];
|
|
/* 0209AB98 */ cpu->r[28] = cpu->r[4];
|
|
/* 0209AB9C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB9C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0209ABA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ABA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209ABA4 */ cpu->r[29] = cpu->r[5];
|
|
/* 0209ABA8 */ Gambit_fn_0209AAD8(cpu);
|
|
/* 0209ABAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209ABB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ABB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209ABB0 */ if (_t7) goto L_0209ABB4; else goto L_0209ABBC;
|
|
L_0209ABB4: ; // 0x209abb4
|
|
/* 0209ABB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209ABB8 */ Gambit_fn_0209AAF0(cpu);
|
|
L_0209ABBC: ; // 0x209abbc
|
|
/* 0209ABBC */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ABC0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209ABC4 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ABC8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209ABCC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ABD0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ABD4 */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ABD8 */ cpu->r[4] = cpu->r[28];
|
|
/* 0209ABDC */ cpu->r[5] = cpu->r[29];
|
|
/* 0209ABE0 */ Gambit_fn_02099BF4(cpu);
|
|
/* 0209ABE4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ABE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209ABE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ABE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209ABEC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ABEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209ABF0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ABF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209ABF4 */ cpu->lr = cpu->r[0];
|
|
/* 0209ABF8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ABF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209ABFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AC00 */ return;
|
|
}
|
|
|
|
// fn_0209AB80 @ 0x209ab80
|
|
void Gambit_fn_0209AB80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209AB80: ; // 0x209ab80
|
|
/* 0209AB80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AB80 */ cpu->r[1] = _t0;
|
|
/* 0209AB84 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AB88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AB88 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0209AB8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AB8C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209AB90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AB94 */ cpu->r[30] = cpu->r[6];
|
|
/* 0209AB98 */ cpu->r[28] = cpu->r[4];
|
|
/* 0209AB9C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AB9C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0209ABA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ABA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209ABA4 */ cpu->r[29] = cpu->r[5];
|
|
/* 0209ABA8 */ Gambit_fn_0209AAD8(cpu);
|
|
/* 0209ABAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209ABB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ABB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209ABB0 */ if (_t7) goto L_0209ABB4; else goto L_0209ABBC;
|
|
L_0209ABB4: ; // 0x209abb4
|
|
/* 0209ABB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209ABB8 */ Gambit_fn_0209AAF0(cpu);
|
|
L_0209ABBC: ; // 0x209abbc
|
|
/* 0209ABBC */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ABC0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209ABC4 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ABC8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209ABCC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ABD0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ABD4 */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209ABD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ABD8 */ cpu->r[4] = cpu->r[28];
|
|
/* 0209ABDC */ cpu->r[5] = cpu->r[29];
|
|
/* 0209ABE0 */ Gambit_fn_02099BF4(cpu);
|
|
/* 0209ABE4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ABE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209ABE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ABE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209ABEC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ABEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209ABF0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ABF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209ABF4 */ cpu->lr = cpu->r[0];
|
|
/* 0209ABF8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ABF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209ABFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AC00 */ return;
|
|
}
|
|
|
|
// fn_0209AC04 @ 0x209ac04
|
|
void Gambit_fn_0209AC04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209AC04: ; // 0x209ac04
|
|
/* 0209AC04 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0209AC04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AC08 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AC08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AC0C */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0209AC0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AC10 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AC14 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209AC18 @ 0x209ac18
|
|
void Gambit_fn_0209AC18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AC18: ; // 0x209ac18
|
|
/* 0209AC18 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AC1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AC1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AC1C */ cpu->r[1] = _t0;
|
|
/* 0209AC20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AC24 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AC28 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AC2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AC30 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AC30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AC34 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AC3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AC3C */ if (_t5) goto L_0209AC48; else goto L_0209AC40;
|
|
L_0209AC40: ; // 0x209ac40
|
|
/* 0209AC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AC44 */ Gambit_fn_0209AC04(cpu);
|
|
L_0209AC48: ; // 0x209ac48
|
|
/* 0209AC48 */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AC4C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AC4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AC50 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AC54 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AC58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AC5C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AC60 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AC64 */ cpu->lr = cpu->r[0];
|
|
/* 0209AC68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AC6C */ return;
|
|
}
|
|
|
|
// fn_0209AC1C @ 0x209ac1c
|
|
void Gambit_fn_0209AC1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AC1C: ; // 0x209ac1c
|
|
/* 0209AC1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AC1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AC1C */ cpu->r[1] = _t0;
|
|
/* 0209AC20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AC24 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AC28 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AC2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AC30 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AC30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AC34 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AC3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AC3C */ if (_t5) goto L_0209AC48; else goto L_0209AC40;
|
|
L_0209AC40: ; // 0x209ac40
|
|
/* 0209AC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AC44 */ Gambit_fn_0209AC04(cpu);
|
|
L_0209AC48: ; // 0x209ac48
|
|
/* 0209AC48 */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0209AC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AC4C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AC4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AC50 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AC54 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AC58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AC5C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AC60 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AC64 */ cpu->lr = cpu->r[0];
|
|
/* 0209AC68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AC6C */ return;
|
|
}
|
|
|
|
// fn_0209AC70 @ 0x209ac70
|
|
void Gambit_fn_0209AC70(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209AC70: ; // 0x209ac70
|
|
/* 0209AC70 */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 0209AC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AC74 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209AC74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AC78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209AC7C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209AC80 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209AC84 */ return;
|
|
}
|
|
|
|
// fn_0209AC88 @ 0x209ac88
|
|
void Gambit_fn_0209AC88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AC88: ; // 0x209ac88
|
|
/* 0209AC88 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AC8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AC8C */ cpu->r[1] = _t0;
|
|
/* 0209AC90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AC94 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AC98 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AC9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209ACA0 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209ACA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209ACA4 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209ACA8 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0209ACA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209ACAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ACB0 */ _t5 = cpu->r[31] + 0x00000048u;
|
|
/* 0209ACB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209ACB4 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ACB8 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0209ACB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209ACBC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209ACBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209ACC0 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0209ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ACC4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209ACC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ACCC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ACCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ACD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ACD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ACD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209ACD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209ACDC */ return;
|
|
}
|
|
|
|
// fn_0209AC8C @ 0x209ac8c
|
|
void Gambit_fn_0209AC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209AC8C: ; // 0x209ac8c
|
|
/* 0209AC8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AC8C */ cpu->r[1] = _t0;
|
|
/* 0209AC90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AC94 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AC98 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AC9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AC9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209ACA0 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209ACA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209ACA4 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209ACA8 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0209ACA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209ACAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ACB0 */ _t5 = cpu->r[31] + 0x00000048u;
|
|
/* 0209ACB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209ACB4 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ACB8 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0209ACB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209ACBC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209ACBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209ACC0 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0209ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ACC4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209ACC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ACCC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ACCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ACD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ACD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ACD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209ACD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209ACDC */ return;
|
|
}
|
|
|
|
// fn_0209ACE0 @ 0x209ace0
|
|
void Gambit_fn_0209ACE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209ACE0: ; // 0x209ace0
|
|
/* 0209ACE0 */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 0209ACE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209ACE4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209ACE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209ACE8 */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0209ACE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209ACEC */ cpu->ctr = cpu->r[0];
|
|
/* 0209ACF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209ACF4 @ 0x209acf4
|
|
void Gambit_fn_0209ACF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209ACF4: ; // 0x209acf4
|
|
/* 0209ACF4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209ACF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209ACF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ACF8 */ cpu->r[1] = _t0;
|
|
/* 0209ACFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ACFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AD00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AD04 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AD08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AD0C */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AD10 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AD18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AD18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AD18 */ if (_t5) goto L_0209AD24; else goto L_0209AD1C;
|
|
L_0209AD1C: ; // 0x209ad1c
|
|
/* 0209AD1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AD20 */ Gambit_fn_0209ACE0(cpu);
|
|
L_0209AD24: ; // 0x209ad24
|
|
/* 0209AD24 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0209AD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AD28 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AD2C */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AD30 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AD34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AD38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AD3C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AD40 */ cpu->lr = cpu->r[0];
|
|
/* 0209AD44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AD48 */ return;
|
|
}
|
|
|
|
// fn_0209ACF8 @ 0x209acf8
|
|
void Gambit_fn_0209ACF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209ACF8: ; // 0x209acf8
|
|
/* 0209ACF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209ACF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ACF8 */ cpu->r[1] = _t0;
|
|
/* 0209ACFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ACFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AD00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AD04 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AD08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AD0C */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AD10 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AD18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AD18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209AD18 */ if (_t5) goto L_0209AD24; else goto L_0209AD1C;
|
|
L_0209AD1C: ; // 0x209ad1c
|
|
/* 0209AD1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209AD20 */ Gambit_fn_0209ACE0(cpu);
|
|
L_0209AD24: ; // 0x209ad24
|
|
/* 0209AD24 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0209AD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AD28 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AD2C */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AD30 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AD34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AD38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AD3C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AD40 */ cpu->lr = cpu->r[0];
|
|
/* 0209AD44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AD48 */ return;
|
|
}
|
|
|
|
// fn_0209AD4C @ 0x209ad4c
|
|
void Gambit_fn_0209AD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209AD4C: ; // 0x209ad4c
|
|
/* 0209AD4C */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 0209AD4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AD50 */ goto L_0209B734;
|
|
L_0209B734: ; // 0x209b734
|
|
/* 0209B734 */ cpu->r[0] = cpu->lr;
|
|
/* 0209B738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0209B73C */ _t1 = cpu->r[1] + 0x00000004u;
|
|
/* 0209B73C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209B740 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B744 */ _t2 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209B744 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 0209B744 */ cpu->r[1] = _t2;
|
|
/* 0209B748 */ cpu->r[0] = cpu->r[0] + 0x00000CA0u;
|
|
/* 0209B74C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209B74C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209B74C */ if (_t4) goto L_0209B76C; else goto L_0209B750;
|
|
L_0209B750: ; // 0x209b750
|
|
/* 0209B750 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209B750 */ if (_t6) goto L_0209B788; else goto L_0209B754;
|
|
L_0209B754: ; // 0x209b754
|
|
/* 0209B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 0209B758 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B758 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209B758 */ if (_t8) goto L_0209B7A4; else goto L_0209B75C;
|
|
L_0209B75C: ; // 0x209b75c
|
|
/* 0209B75C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B760 */ cpu->lr = cpu->r[0];
|
|
/* 0209B764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B768 */ return;
|
|
L_0209B76C: ; // 0x209b76c
|
|
/* 0209B76C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B770 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B770 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209B774 */ cpu->r[12] = cpu->r[12] + 0x00000CD8u;
|
|
/* 0209B778 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B77C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B77C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0209B780 */ Gambit_fn_0209B6DC(cpu);
|
|
/* 0209B784 */ goto L_0209B7BC;
|
|
L_0209B788: ; // 0x209b788
|
|
/* 0209B788 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B78C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B78C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209B790 */ cpu->r[12] = cpu->r[12] + 0x00000CDCu;
|
|
/* 0209B794 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B798 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B798 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209B79C */ Gambit_fn_0209B6DC(cpu);
|
|
/* 0209B7A0 */ goto L_0209B7BC;
|
|
L_0209B7A4: ; // 0x209b7a4
|
|
/* 0209B7A4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B7A8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B7A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0209B7AC */ cpu->r[12] = cpu->r[12] + 0x00000CE0u;
|
|
/* 0209B7B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B7B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B7B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 0209B7B8 */ Gambit_fn_0209B6DC(cpu);
|
|
L_0209B7BC: ; // 0x209b7bc
|
|
/* 0209B7BC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B7BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209B7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0209B7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B7C8 */ return;
|
|
}
|
|
|
|
// fn_0209AD54 @ 0x209ad54
|
|
void Gambit_fn_0209AD54(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209AD54: ; // 0x209ad54
|
|
/* 0209AD54 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AD54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AD58 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209AD58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AD5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209AD60 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209AD64 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209AD68 */ return;
|
|
}
|
|
|
|
// fn_0209AD6C @ 0x209ad6c
|
|
void Gambit_fn_0209AD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209AD6C: ; // 0x209ad6c
|
|
/* 0209AD6C */ cpu->r[0] = cpu->lr;
|
|
/* 0209AD70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AD70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AD70 */ cpu->r[1] = _t0;
|
|
/* 0209AD74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AD74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AD78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AD7C */ cpu->r[31] = cpu->r[5];
|
|
/* 0209AD80 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209AD84 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AD84 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209AD88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AD88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AD8C */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AD90 */ Gambit_fn_0209AD54(cpu);
|
|
/* 0209AD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AD98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AD98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AD98 */ if (_t6) goto L_0209ADD4; else goto L_0209AD9C;
|
|
L_0209AD9C: ; // 0x209ad9c
|
|
/* 0209AD9C */ _t7 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AD9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209ADA0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209ADA4 */ _t8 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ADA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209ADAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ADB0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ADB4 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ADB8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0209ADB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ADBC */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0209ADBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209ADC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209ADC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ADC8 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209ADCC */ cpu->r[4] = cpu->r[31];
|
|
/* 0209ADD0 */ Gambit_fn_02098434(cpu);
|
|
L_0209ADD4: ; // 0x209add4
|
|
/* 0209ADD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ADD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209ADD8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ADD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209ADDC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ADDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209ADE0 */ cpu->lr = cpu->r[0];
|
|
/* 0209ADE4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ADE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209ADE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209ADEC */ return;
|
|
}
|
|
|
|
// fn_0209AD70 @ 0x209ad70
|
|
void Gambit_fn_0209AD70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209AD70: ; // 0x209ad70
|
|
/* 0209AD70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AD70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AD70 */ cpu->r[1] = _t0;
|
|
/* 0209AD74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AD74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AD78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AD78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AD7C */ cpu->r[31] = cpu->r[5];
|
|
/* 0209AD80 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209AD84 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AD84 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209AD88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AD88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AD8C */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AD90 */ Gambit_fn_0209AD54(cpu);
|
|
/* 0209AD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AD98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AD98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AD98 */ if (_t6) goto L_0209ADD4; else goto L_0209AD9C;
|
|
L_0209AD9C: ; // 0x209ad9c
|
|
/* 0209AD9C */ _t7 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AD9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209ADA0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209ADA4 */ _t8 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209ADA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209ADAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209ADB0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209ADB4 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209ADB8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0209ADB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209ADBC */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0209ADBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209ADC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209ADC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ADC8 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 0209ADC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209ADCC */ cpu->r[4] = cpu->r[31];
|
|
/* 0209ADD0 */ Gambit_fn_02098434(cpu);
|
|
L_0209ADD4: ; // 0x209add4
|
|
/* 0209ADD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ADD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209ADD8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209ADD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209ADDC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ADDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209ADE0 */ cpu->lr = cpu->r[0];
|
|
/* 0209ADE4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ADE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209ADE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209ADEC */ return;
|
|
}
|
|
|
|
// fn_0209ADF0 @ 0x209adf0
|
|
void Gambit_fn_0209ADF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209ADF0: ; // 0x209adf0
|
|
/* 0209ADF0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209ADF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209ADF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ADF4 */ cpu->r[1] = _t0;
|
|
/* 0209ADF8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ADF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209ADFC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ADFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209AE00 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AE00 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0209AE04 */ cpu->r[28] = cpu->r[6];
|
|
/* 0209AE08 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209AE0C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209AE10 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AE10 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0209AE14 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AE14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209AE18 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AE1C */ Gambit_fn_0209AD54(cpu);
|
|
/* 0209AE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AE24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AE24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209AE24 */ if (_t7) goto L_0209AE70; else goto L_0209AE28;
|
|
L_0209AE28: ; // 0x209ae28
|
|
/* 0209AE28 */ _t8 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AE2C */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AE30 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AE34 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209AE38 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AE3C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AE40 */ _t10 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AE44 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AE48 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AE4C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AE50 */ _t11 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AE54 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AE54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AE58 */ _t13 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AE58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209AE5C */ cpu->ctr = cpu->r[0];
|
|
/* 0209AE60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AE64 */ _t14 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209AE68 */ cpu->r[4] = cpu->r[28];
|
|
/* 0209AE6C */ Gambit_fn_02098434(cpu);
|
|
L_0209AE70: ; // 0x209ae70
|
|
/* 0209AE70 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AE70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209AE74 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209AE78 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209AE7C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209AE80 */ cpu->lr = cpu->r[0];
|
|
/* 0209AE84 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209AE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AE8C */ return;
|
|
}
|
|
|
|
// fn_0209ADF4 @ 0x209adf4
|
|
void Gambit_fn_0209ADF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209ADF4: ; // 0x209adf4
|
|
/* 0209ADF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209ADF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ADF4 */ cpu->r[1] = _t0;
|
|
/* 0209ADF8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0209ADF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209ADFC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209ADFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209AE00 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AE00 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0209AE04 */ cpu->r[28] = cpu->r[6];
|
|
/* 0209AE08 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209AE0C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209AE10 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AE10 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0209AE14 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AE14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209AE18 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AE1C */ Gambit_fn_0209AD54(cpu);
|
|
/* 0209AE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AE24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AE24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209AE24 */ if (_t7) goto L_0209AE70; else goto L_0209AE28;
|
|
L_0209AE28: ; // 0x209ae28
|
|
/* 0209AE28 */ _t8 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AE2C */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AE30 */ _t9 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AE34 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209AE38 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AE3C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AE40 */ _t10 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AE44 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AE48 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AE4C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AE50 */ _t11 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AE54 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AE54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AE58 */ _t13 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AE58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209AE5C */ cpu->ctr = cpu->r[0];
|
|
/* 0209AE60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AE64 */ _t14 = cpu->r[29] + 0x00000050u;
|
|
/* 0209AE64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209AE68 */ cpu->r[4] = cpu->r[28];
|
|
/* 0209AE6C */ Gambit_fn_02098434(cpu);
|
|
L_0209AE70: ; // 0x209ae70
|
|
/* 0209AE70 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AE70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209AE74 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209AE78 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209AE7C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209AE80 */ cpu->lr = cpu->r[0];
|
|
/* 0209AE84 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209AE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209AE8C */ return;
|
|
}
|
|
|
|
// fn_0209AE90 @ 0x209ae90
|
|
void Gambit_fn_0209AE90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209AE90: ; // 0x209ae90
|
|
/* 0209AE90 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AE90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AE94 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AE94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AE98 */ _t2 = cpu->r[12] + 0x00000174u;
|
|
/* 0209AE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AE9C */ cpu->ctr = cpu->r[0];
|
|
/* 0209AEA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209AEA4 @ 0x209aea4
|
|
void Gambit_fn_0209AEA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209AEA4: ; // 0x209aea4
|
|
/* 0209AEA4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AEA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AEA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AEA8 */ cpu->r[1] = _t0;
|
|
/* 0209AEAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AEAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AEB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AEB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AEB8 */ Gambit_fn_0209AE90(cpu);
|
|
/* 0209AEBC */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 0209AEBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AEC4 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0209AEC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AEC8 */ cpu->r[3] = cpu->r[11];
|
|
/* 0209AECC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AECC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AECC */ if (_t6) goto L_0209AEF0; else goto L_0209AED0;
|
|
L_0209AED0: ; // 0x209aed0
|
|
/* 0209AED0 */ _t7 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AED4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AEDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AEE0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AEE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AEE4 */ cpu->lr = cpu->r[0];
|
|
/* 0209AEE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AEEC */ return;
|
|
L_0209AEF0: ; // 0x209aef0
|
|
/* 0209AEF0 */ _t10 = cpu->r[12] + 0x00000094u;
|
|
/* 0209AEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AEF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AEF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AEFC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AF00 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AF04 */ cpu->lr = cpu->r[0];
|
|
/* 0209AF08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AF0C */ return;
|
|
}
|
|
|
|
// fn_0209AEA8 @ 0x209aea8
|
|
void Gambit_fn_0209AEA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209AEA8: ; // 0x209aea8
|
|
/* 0209AEA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AEA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AEA8 */ cpu->r[1] = _t0;
|
|
/* 0209AEAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AEAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209AEB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209AEB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209AEB8 */ Gambit_fn_0209AE90(cpu);
|
|
/* 0209AEBC */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 0209AEBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209AEC4 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0209AEC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AEC8 */ cpu->r[3] = cpu->r[11];
|
|
/* 0209AECC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209AECC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209AECC */ if (_t6) goto L_0209AEF0; else goto L_0209AED0;
|
|
L_0209AED0: ; // 0x209aed0
|
|
/* 0209AED0 */ _t7 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209AED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AED4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AEDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AEE0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AEE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AEE4 */ cpu->lr = cpu->r[0];
|
|
/* 0209AEE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AEEC */ return;
|
|
L_0209AEF0: ; // 0x209aef0
|
|
/* 0209AEF0 */ _t10 = cpu->r[12] + 0x00000094u;
|
|
/* 0209AEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AEF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AEF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AEFC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AF00 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AF04 */ cpu->lr = cpu->r[0];
|
|
/* 0209AF08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AF0C */ return;
|
|
}
|
|
|
|
// fn_0209AF10 @ 0x209af10
|
|
void Gambit_fn_0209AF10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_020983C0: ; // 0x20983c0
|
|
/* 020983C0 */ _t0 = cpu->r[3] + 0x0000021Cu;
|
|
/* 020983C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020983C4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 020983C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020983C8 */ _t2 = cpu->r[12] + 0x00000084u;
|
|
/* 020983C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020983CC */ cpu->ctr = cpu->r[0];
|
|
/* 020983D0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0209AF10: ; // 0x209af10
|
|
/* 0209AF10 */ _t3 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209AF14 */ goto L_020983C0;
|
|
}
|
|
|
|
// fn_0209AF18 @ 0x209af18
|
|
void Gambit_fn_0209AF18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209AF18: ; // 0x209af18
|
|
/* 0209AF18 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AF1C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AF1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AF20 */ _t2 = cpu->r[12] + 0x0000018Cu;
|
|
/* 0209AF20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209AF24 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AF28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209AF2C @ 0x209af2c
|
|
void Gambit_fn_0209AF2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_020983D4: ; // 0x20983d4
|
|
/* 020983D4 */ cpu->r[0] = cpu->lr;
|
|
/* 020983D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 020983D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 020983DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020983DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020983DC */ cpu->r[1] = _t1;
|
|
/* 020983E0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 020983E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020983E4 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020983E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020983E8 */ cpu->ctr = cpu->r[0];
|
|
/* 020983EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020983F0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020983F4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020983F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020983F8 */ cpu->lr = cpu->r[0];
|
|
/* 020983FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02098400 */ return;
|
|
L_0209AF2C: ; // 0x209af2c
|
|
/* 0209AF2C */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AF30 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209AF34 */ _t6 = cpu->r[12] + 0x00000220u;
|
|
/* 0209AF34 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209AF38 */ _t7 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AF3C */ goto L_020983D4;
|
|
}
|
|
|
|
// fn_0209AF40 @ 0x209af40
|
|
void Gambit_fn_0209AF40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02098404: ; // 0x2098404
|
|
/* 02098404 */ cpu->r[0] = cpu->lr;
|
|
/* 02098408 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02098408 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209840C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209840C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209840C */ cpu->r[1] = _t1;
|
|
/* 02098410 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02098410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02098414 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 02098414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02098418 */ cpu->ctr = cpu->r[0];
|
|
/* 0209841C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02098420 */ Gambit_fn_020DACA4(cpu);
|
|
/* 02098424 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02098424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02098428 */ cpu->lr = cpu->r[0];
|
|
/* 0209842C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02098430 */ return;
|
|
L_0209AF40: ; // 0x209af40
|
|
/* 0209AF40 */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AF44 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209AF48 */ _t6 = cpu->r[12] + 0x00000220u;
|
|
/* 0209AF48 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209AF4C */ _t7 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AF50 */ goto L_02098404;
|
|
}
|
|
|
|
// fn_0209AF54 @ 0x209af54
|
|
void Gambit_fn_0209AF54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209AF54: ; // 0x209af54
|
|
/* 0209AF54 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 0209AF54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AF58 */ goto L_020B64BC;
|
|
L_020B64BC: ; // 0x20b64bc
|
|
/* 020B64BC */ cpu->r[0] = cpu->lr;
|
|
/* 020B64C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020B64C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020B64C0 */ cpu->r[1] = _t1;
|
|
/* 020B64C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B64C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020B64C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020B64C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020B64CC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 020B64CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020B64D0 */ _t5 = cpu->r[10] + 0x000001CCu;
|
|
/* 020B64D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020B64D4 */ cpu->ctr = cpu->r[0];
|
|
/* 020B64D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020B64DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B64E0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 020B64E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020B64E4 */ _t7 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020B64E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020B64E8 */ cpu->ctr = cpu->r[9];
|
|
/* 020B64EC */ cpu->r[3] = cpu->r[31];
|
|
/* 020B64F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B64F4 */ _t8 = cpu->r[31] + 0x000001DCu;
|
|
/* 020B64F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020B64F8 */ Gambit_fn_020DAD3C(cpu);
|
|
/* 020B64FC */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 020B64FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020B6500 */ _t10 = cpu->r[12] + 0x000000CCu;
|
|
/* 020B6500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020B6504 */ cpu->ctr = cpu->r[0];
|
|
/* 020B6508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B650C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 020B6510 */ cpu->r[4] = 0x00000002u;
|
|
/* 020B6514 */ Gambit_fn_0208A248(cpu);
|
|
/* 020B6518 */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 020B6518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020B651C */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020B6520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020B6524 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020B6528 */ cpu->lr = cpu->r[0];
|
|
/* 020B652C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B6530 */ return;
|
|
}
|
|
|
|
// fn_0209AF5C @ 0x209af5c
|
|
void Gambit_fn_0209AF5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209AF5C: ; // 0x209af5c
|
|
/* 0209AF5C */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0209AF5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209AF60 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209AF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209AF64 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209AF68 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209AF6C */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209AF70 */ return;
|
|
}
|
|
|
|
// fn_0209AF74 @ 0x209af74
|
|
void Gambit_fn_0209AF74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209AF74: ; // 0x209af74
|
|
/* 0209AF74 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AF78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AF78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AF78 */ cpu->r[1] = _t0;
|
|
/* 0209AF7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AF80 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209AF84 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AF88 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AF8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AF8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209AF90 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AF90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AF94 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209AF98 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AF9C */ _t5 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AF9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AFA0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AFA4 */ _t6 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AFA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AFA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AFAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AFB0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AFB4 */ _t7 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AFB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AFB8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AFB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AFBC */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AFC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AFC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AFC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AFCC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AFCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AFD0 */ cpu->lr = cpu->r[0];
|
|
/* 0209AFD4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AFD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AFD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AFDC */ return;
|
|
}
|
|
|
|
// fn_0209AF78 @ 0x209af78
|
|
void Gambit_fn_0209AF78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209AF78: ; // 0x209af78
|
|
/* 0209AF78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209AF78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AF78 */ cpu->r[1] = _t0;
|
|
/* 0209AF7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209AF80 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209AF84 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209AF88 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209AF8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AF8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209AF90 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209AF90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209AF94 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209AF98 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209AF9C */ _t5 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AF9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209AFA0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209AFA4 */ _t6 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AFA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209AFA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209AFAC */ cpu->r[5] = 0x00000001u;
|
|
/* 0209AFB0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209AFB4 */ _t7 = cpu->r[30] + 0x00000054u;
|
|
/* 0209AFB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209AFB8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209AFB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209AFBC */ _t9 = cpu->r[12] + 0x00000164u;
|
|
/* 0209AFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209AFC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209AFC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209AFC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209AFCC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209AFCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209AFD0 */ cpu->lr = cpu->r[0];
|
|
/* 0209AFD4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AFD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209AFD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209AFDC */ return;
|
|
}
|
|
|
|
// fn_0209AFE0 @ 0x209afe0
|
|
void Gambit_fn_0209AFE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209AFE0: ; // 0x209afe0
|
|
/* 0209AFE0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209AFE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AFE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AFE4 */ cpu->r[1] = _t0;
|
|
/* 0209AFE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AFE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0209AFEC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AFEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209AFF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AFF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209AFF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AFF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AFF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AFFC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209B000 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209B000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B004 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209B008 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209B00C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209B010 */ _t6 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B014 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209B018 */ _t7 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B01C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209B020 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B024 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209B028 */ _t8 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B02C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209B030 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209B034 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209B038 */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B03C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B03C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209B040 */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0209B040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209B044 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B048 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209B04C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209B050 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209B054 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209B058 */ cpu->lr = cpu->r[0];
|
|
/* 0209B05C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B060 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B064 */ return;
|
|
}
|
|
|
|
// fn_0209AFE4 @ 0x209afe4
|
|
void Gambit_fn_0209AFE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209AFE4: ; // 0x209afe4
|
|
/* 0209AFE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209AFE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209AFE4 */ cpu->r[1] = _t0;
|
|
/* 0209AFE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209AFE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0209AFEC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209AFEC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209AFF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209AFF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209AFF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209AFF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209AFF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209AFFC */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209B000 */ _t5 = cpu->r[3] + 0x00003400u;
|
|
/* 0209B000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B004 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209B008 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209B00C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209B010 */ _t6 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B014 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209B018 */ _t7 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B01C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209B020 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B024 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209B028 */ _t8 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B02C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209B030 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209B034 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0209B038 */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 0209B038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B03C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B03C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209B040 */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0209B040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209B044 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B048 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209B04C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209B050 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209B054 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209B058 */ cpu->lr = cpu->r[0];
|
|
/* 0209B05C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B060 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B064 */ return;
|
|
}
|
|
|
|
// fn_0209B068 @ 0x209b068
|
|
void Gambit_fn_0209B068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209B068: ; // 0x209b068
|
|
/* 0209B068 */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B06C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B06C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209B070 */ _t2 = cpu->r[12] + 0x00000174u;
|
|
/* 0209B070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209B074 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B078 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209B07C @ 0x209b07c
|
|
void Gambit_fn_0209B07C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209B07C: ; // 0x209b07c
|
|
/* 0209B07C */ cpu->r[0] = cpu->lr;
|
|
/* 0209B080 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B080 */ cpu->r[1] = _t0;
|
|
/* 0209B084 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B088 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B08C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209B090 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B090 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B094 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209B094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B098 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B0A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B0A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209B0A0 */ if (_t5) goto L_0209B0AC; else goto L_0209B0A4;
|
|
L_0209B0A4: ; // 0x209b0a4
|
|
/* 0209B0A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B0A8 */ Gambit_fn_0209B068(cpu);
|
|
L_0209B0AC: ; // 0x209b0ac
|
|
/* 0209B0AC */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0209B0AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B0B0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B0B4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209B0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B0B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B0BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209B0C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B0C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209B0C8 */ cpu->lr = cpu->r[0];
|
|
/* 0209B0CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B0D0 */ return;
|
|
}
|
|
|
|
// fn_0209B080 @ 0x209b080
|
|
void Gambit_fn_0209B080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209B080: ; // 0x209b080
|
|
/* 0209B080 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B080 */ cpu->r[1] = _t0;
|
|
/* 0209B084 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B088 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B08C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209B090 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B090 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B094 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209B094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B098 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B0A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B0A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209B0A0 */ if (_t5) goto L_0209B0AC; else goto L_0209B0A4;
|
|
L_0209B0A4: ; // 0x209b0a4
|
|
/* 0209B0A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B0A8 */ Gambit_fn_0209B068(cpu);
|
|
L_0209B0AC: ; // 0x209b0ac
|
|
/* 0209B0AC */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0209B0AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B0B0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B0B4 */ _t8 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209B0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B0B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B0BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209B0C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B0C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209B0C8 */ cpu->lr = cpu->r[0];
|
|
/* 0209B0CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B0D0 */ return;
|
|
}
|
|
|
|
// fn_0209B0D4 @ 0x209b0d4
|
|
void Gambit_fn_0209B0D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209B0D4: ; // 0x209b0d4
|
|
/* 0209B0D4 */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B0D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B0D8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B0D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209B0DC */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209B0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209B0E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209B0E4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209B0E8 @ 0x209b0e8
|
|
void Gambit_fn_0209B0E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209B0E8: ; // 0x209b0e8
|
|
/* 0209B0E8 */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B0EC */ _t1 = cpu->r[12] + 0x00000218u;
|
|
/* 0209B0EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209B0F0 */ return;
|
|
}
|
|
|
|
// fn_0209B0F4 @ 0x209b0f4
|
|
void Gambit_fn_0209B0F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209926C: ; // 0x209926c
|
|
/* 0209926C */ _t0 = cpu->r[3] + 0x00000218u;
|
|
/* 0209926C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099270 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02099270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02099274 */ _t2 = cpu->r[12] + 0x00000084u;
|
|
/* 02099274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02099278 */ cpu->ctr = cpu->r[0];
|
|
/* 0209927C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0209B0F4: ; // 0x209b0f4
|
|
/* 0209B0F4 */ _t3 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B0F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B0F8 */ goto L_0209926C;
|
|
}
|
|
|
|
// fn_0209B0FC @ 0x209b0fc
|
|
void Gambit_fn_0209B0FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02099280: ; // 0x2099280
|
|
/* 02099280 */ _t0 = cpu->r[3] + 0x00000218u;
|
|
/* 02099280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02099284 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02099284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02099288 */ _t2 = cpu->r[12] + 0x000000DCu;
|
|
/* 02099288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209928C */ cpu->ctr = cpu->r[0];
|
|
/* 02099290 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0209B0FC: ; // 0x209b0fc
|
|
/* 0209B0FC */ _t3 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B0FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B100 */ goto L_02099280;
|
|
}
|
|
|
|
// fn_0209B104 @ 0x209b104
|
|
void Gambit_fn_0209B104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02099294: ; // 0x2099294
|
|
/* 02099294 */ cpu->r[0] = cpu->lr;
|
|
/* 02099298 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02099298 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209929C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209929C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209929C */ cpu->r[1] = _t1;
|
|
/* 020992A0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 020992A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020992A4 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020992A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020992A8 */ cpu->ctr = cpu->r[0];
|
|
/* 020992AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020992B0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 020992B4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020992B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020992B8 */ cpu->lr = cpu->r[0];
|
|
/* 020992BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020992C0 */ return;
|
|
L_0209B104: ; // 0x209b104
|
|
/* 0209B104 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B108 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209B10C */ _t6 = cpu->r[12] + 0x0000021Cu;
|
|
/* 0209B10C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209B110 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B114 */ goto L_02099294;
|
|
}
|
|
|
|
// fn_0209B118 @ 0x209b118
|
|
void Gambit_fn_0209B118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_020992C4: ; // 0x20992c4
|
|
/* 020992C4 */ cpu->r[0] = cpu->lr;
|
|
/* 020992C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 020992C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 020992CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020992CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020992CC */ cpu->r[1] = _t1;
|
|
/* 020992D0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 020992D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020992D4 */ _t3 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020992D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020992D8 */ cpu->ctr = cpu->r[0];
|
|
/* 020992DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020992E0 */ Gambit_fn_020DACA4(cpu);
|
|
/* 020992E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020992E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020992E8 */ cpu->lr = cpu->r[0];
|
|
/* 020992EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020992F0 */ return;
|
|
L_0209B118: ; // 0x209b118
|
|
/* 0209B118 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B11C */ cpu->r[0] = 0x00000000u;
|
|
/* 0209B120 */ _t6 = cpu->r[12] + 0x0000021Cu;
|
|
/* 0209B120 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209B124 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B128 */ goto L_020992C4;
|
|
}
|
|
|
|
// fn_0209B12C @ 0x209b12c
|
|
void Gambit_fn_0209B12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_020992F4: ; // 0x20992f4
|
|
/* 020992F4 */ _t0 = cpu->r[3] + 0x00000218u;
|
|
/* 020992F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 020992F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 020992FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020992FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 020992FC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 020992FC */ goto L_02099300;
|
|
L_02099300: ; // 0x2099300
|
|
/* 02099300 */ cpu->r[0] = cpu->r[4] ^ 0x00000001u;
|
|
/* 02099304 */ _t3 = cpu->r[12] + 0x000001B7u;
|
|
/* 02099304 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02099308 */ return;
|
|
L_0209B12C: ; // 0x209b12c
|
|
/* 0209B12C */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B12C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209B130 */ goto L_020992F4;
|
|
}
|
|
|
|
// fn_0209B134 @ 0x209b134
|
|
void Gambit_fn_0209B134(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209B134: ; // 0x209b134
|
|
/* 0209B134 */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0209B134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B138 */ goto L_020B64BC;
|
|
L_020B64BC: ; // 0x20b64bc
|
|
/* 020B64BC */ cpu->r[0] = cpu->lr;
|
|
/* 020B64C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020B64C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020B64C0 */ cpu->r[1] = _t1;
|
|
/* 020B64C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B64C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 020B64C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 020B64C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 020B64CC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 020B64CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020B64D0 */ _t5 = cpu->r[10] + 0x000001CCu;
|
|
/* 020B64D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020B64D4 */ cpu->ctr = cpu->r[0];
|
|
/* 020B64D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020B64DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B64E0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 020B64E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020B64E4 */ _t7 = cpu->r[12] + 0x0000011Cu;
|
|
/* 020B64E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020B64E8 */ cpu->ctr = cpu->r[9];
|
|
/* 020B64EC */ cpu->r[3] = cpu->r[31];
|
|
/* 020B64F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B64F4 */ _t8 = cpu->r[31] + 0x000001DCu;
|
|
/* 020B64F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020B64F8 */ Gambit_fn_020DAD3C(cpu);
|
|
/* 020B64FC */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 020B64FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020B6500 */ _t10 = cpu->r[12] + 0x000000CCu;
|
|
/* 020B6500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020B6504 */ cpu->ctr = cpu->r[0];
|
|
/* 020B6508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020B650C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 020B6510 */ cpu->r[4] = 0x00000002u;
|
|
/* 020B6514 */ Gambit_fn_0208A248(cpu);
|
|
/* 020B6518 */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 020B6518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020B651C */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020B6520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020B6520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020B6524 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B6524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020B6528 */ cpu->lr = cpu->r[0];
|
|
/* 020B652C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B6530 */ return;
|
|
}
|
|
|
|
// fn_0209B13C @ 0x209b13c
|
|
void Gambit_fn_0209B13C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209B13C: ; // 0x209b13c
|
|
/* 0209B13C */ cpu->r[0] = cpu->lr;
|
|
/* 0209B140 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209B140 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209B144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B148 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209B148 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209B148 */ cpu->r[1] = _t1;
|
|
/* 0209B14C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B14C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B14C */ if (_t3) goto L_0209B150; else goto L_0209B160;
|
|
L_0209B150: ; // 0x209b150
|
|
/* 0209B150 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209B154 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B15C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B15C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209B15C */ if (_t5) goto L_0209B18C; else goto L_0209B160;
|
|
L_0209B160: ; // 0x209b160
|
|
/* 0209B160 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209B164 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209B168 */ cpu->r[10] = 0x00000002u;
|
|
/* 0209B16C */ cpu->r[9] = cpu->r[9] + 0x00000B00u;
|
|
/* 0209B170 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 0209B174 */ cpu->ctr = cpu->r[10];
|
|
/* 0209B178 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209B178 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
L_0209B17C: ; // 0x209b17c
|
|
/* 0209B17C */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 0209B17C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209B17C */ cpu->r[12] = _t7;
|
|
/* 0209B180 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209B180 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209B180 */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 0209B180 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209B180 */ if (_t10) goto L_0209B17C; else goto L_0209B184;
|
|
L_0209B184: ; // 0x209b184
|
|
/* 0209B184 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209B188 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B188 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209B18C: ; // 0x209b18c
|
|
/* 0209B18C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209B190 */ cpu->lr = cpu->r[0];
|
|
/* 0209B194 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B198 */ return;
|
|
}
|
|
|
|
// fn_0209B148 @ 0x209b148
|
|
void Gambit_fn_0209B148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209B148: ; // 0x209b148
|
|
/* 0209B148 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209B148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B148 */ cpu->r[1] = _t0;
|
|
/* 0209B14C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B14C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209B14C */ if (_t2) goto L_0209B150; else goto L_0209B160;
|
|
L_0209B150: ; // 0x209b150
|
|
/* 0209B150 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209B154 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B15C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B15C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209B15C */ if (_t4) goto L_0209B18C; else goto L_0209B160;
|
|
L_0209B160: ; // 0x209b160
|
|
/* 0209B160 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209B164 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209B168 */ cpu->r[10] = 0x00000002u;
|
|
/* 0209B16C */ cpu->r[9] = cpu->r[9] + 0x00000B00u;
|
|
/* 0209B170 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 0209B174 */ cpu->ctr = cpu->r[10];
|
|
/* 0209B178 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209B178 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
L_0209B17C: ; // 0x209b17c
|
|
/* 0209B17C */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 0209B17C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209B17C */ cpu->r[12] = _t6;
|
|
/* 0209B180 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209B180 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209B180 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 0209B180 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209B180 */ if (_t9) goto L_0209B17C; else goto L_0209B184;
|
|
L_0209B184: ; // 0x209b184
|
|
/* 0209B184 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209B188 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B188 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_0209B18C: ; // 0x209b18c
|
|
/* 0209B18C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209B190 */ cpu->lr = cpu->r[0];
|
|
/* 0209B194 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B198 */ return;
|
|
}
|
|
|
|
// fn_0209B19C @ 0x209b19c
|
|
void Gambit_fn_0209B19C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117;
|
|
|
|
L_0209B19C: ; // 0x209b19c
|
|
/* 0209B19C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0209B19C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B19C */ cpu->r[1] = _t0;
|
|
/* 0209B1A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209B1A4 */ /* nop */
|
|
/* 0209B1A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B1AC */ cpu->r[30] = cpu->r[4];
|
|
/* 0209B1B0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B1B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209B1B4 */ cpu->r[29] = cpu->r[5];
|
|
/* 0209B1B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B1B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B1B8 */ if (_t3) goto L_0209B1BC; else goto L_0209B1CC;
|
|
L_0209B1BC: ; // 0x209b1bc
|
|
/* 0209B1BC */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0209B1C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B1C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B1C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209B1C8 */ if (_t5) goto L_0209B490; else goto L_0209B1CC;
|
|
L_0209B1CC: ; // 0x209b1cc
|
|
/* 0209B1CC */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B1CC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0209B1D0 */ cpu->r[26] = 0x10110000u;
|
|
/* 0209B1D4 */ cpu->r[28] = 0x10010000u;
|
|
/* 0209B1D8 */ cpu->r[27] = 0x10010000u;
|
|
/* 0209B1DC */ cpu->r[24] = 0x10010000u;
|
|
/* 0209B1E0 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209B1E4 */ cpu->r[27] = cpu->r[27] + 0x00000AB8u;
|
|
/* 0209B1E8 */ cpu->r[25] = cpu->r[31] + 0x00000004u;
|
|
/* 0209B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B1EC */ cpu->r[9] = cpu->r[9] + 0x00000B10u;
|
|
/* 0209B1F0 */ cpu->r[24] = cpu->r[24] + 0x00000A88u;
|
|
/* 0209B1F4 */ cpu->r[28] = cpu->r[28] + 0x00000AA0u;
|
|
/* 0209B1F8 */ _t7 = cpu->r[31] + 0x00000088u;
|
|
/* 0209B1F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0209B1FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B1FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209B1FC */ if (_t9) goto L_0209B200; else goto L_0209B210;
|
|
L_0209B200: ; // 0x209b200
|
|
/* 0209B200 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B204 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B208 */ cpu->r[25] = cpu->r[3];
|
|
/* 0209B208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B20C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B20C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209B20C */ if (_t11) goto L_0209B280; else goto L_0209B210;
|
|
L_0209B210: ; // 0x209b210
|
|
/* 0209B210 */ cpu->r[30] = cpu->r[25];
|
|
/* 0209B210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B214 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B214 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209B214 */ if (_t13) goto L_0209B218; else goto L_0209B228;
|
|
L_0209B218: ; // 0x209b218
|
|
/* 0209B218 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B21C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B220 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209B220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B224 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B224 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209B224 */ if (_t15) goto L_0209B27C; else goto L_0209B228;
|
|
L_0209B228: ; // 0x209b228
|
|
/* 0209B228 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209B228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B22C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B22C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209B22C */ if (_t17) goto L_0209B230; else goto L_0209B254;
|
|
L_0209B230: ; // 0x209b230
|
|
/* 0209B230 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209B234 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B23C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B23C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209B23C */ if (_t19) goto L_0209B240; else goto L_0209B254;
|
|
L_0209B240: ; // 0x209b240
|
|
/* 0209B240 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209B244 */ _t21 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0209B248 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B248 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 0209B24C */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 0209B24C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 0209B250 */ goto L_0209B27C;
|
|
L_0209B254: ; // 0x209b254
|
|
/* 0209B254 */ cpu->r[10] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209B258 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 0209B258 */ rbrew_write32(cpu->mem, _t24, cpu->r[24]);
|
|
/* 0209B25C */ cpu->r[11] = 0x00000020u;
|
|
/* 0209B260 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B260 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 0209B264 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B264 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 0209B268 */ _t27 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B268 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0209B26C */ _t28 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B26C */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 0209B270 */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209B274 */ _t30 = cpu->r[30] + 0x0000002Bu;
|
|
/* 0209B274 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0209B278 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 0209B278 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
L_0209B27C: ; // 0x209b27c
|
|
/* 0209B27C */ _t32 = cpu->r[25] + 0x00000004u;
|
|
/* 0209B27C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
L_0209B280: ; // 0x209b280
|
|
/* 0209B280 */ cpu->r[25] = cpu->r[31] + 0x00000030u;
|
|
/* 0209B280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B284 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B284 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0209B284 */ if (_t34) goto L_0209B288; else goto L_0209B298;
|
|
L_0209B288: ; // 0x209b288
|
|
/* 0209B288 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B28C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B290 */ cpu->r[25] = cpu->r[3];
|
|
/* 0209B290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B294 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B294 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0209B294 */ if (_t36) goto L_0209B308; else goto L_0209B298;
|
|
L_0209B298: ; // 0x209b298
|
|
/* 0209B298 */ cpu->r[30] = cpu->r[25];
|
|
/* 0209B298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B29C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B29C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0209B29C */ if (_t38) goto L_0209B2A0; else goto L_0209B2B0;
|
|
L_0209B2A0: ; // 0x209b2a0
|
|
/* 0209B2A0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B2A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B2A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209B2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B2AC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B2AC */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209B2AC */ if (_t40) goto L_0209B304; else goto L_0209B2B0;
|
|
L_0209B2B0: ; // 0x209b2b0
|
|
/* 0209B2B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209B2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B2B4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B2B4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209B2B4 */ if (_t42) goto L_0209B2B8; else goto L_0209B2DC;
|
|
L_0209B2B8: ; // 0x209b2b8
|
|
/* 0209B2B8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209B2BC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B2C4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B2C4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0209B2C4 */ if (_t44) goto L_0209B2C8; else goto L_0209B2DC;
|
|
L_0209B2C8: ; // 0x209b2c8
|
|
/* 0209B2C8 */ _t45 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B2C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209B2CC */ _t46 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B2CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0209B2D0 */ _t47 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B2D0 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 0209B2D4 */ _t48 = cpu->r[9] + 0x00000000u;
|
|
/* 0209B2D4 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 0209B2D8 */ goto L_0209B304;
|
|
L_0209B2DC: ; // 0x209b2dc
|
|
/* 0209B2DC */ cpu->r[0] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209B2E0 */ _t49 = cpu->r[3] + 0x00000004u;
|
|
/* 0209B2E0 */ rbrew_write32(cpu->mem, _t49, cpu->r[24]);
|
|
/* 0209B2E4 */ cpu->r[8] = 0x00000020u;
|
|
/* 0209B2E8 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B2E8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 0209B2EC */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B2EC */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 0209B2F0 */ _t52 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B2F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0209B2F4 */ _t53 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B2F4 */ rbrew_write32(cpu->mem, _t53, cpu->r[28]);
|
|
/* 0209B2F8 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B2F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0209B2FC */ _t55 = cpu->r[30] + 0x0000002Bu;
|
|
/* 0209B2FC */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 0209B300 */ _t56 = cpu->r[9] + 0x00000000u;
|
|
/* 0209B300 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
L_0209B304: ; // 0x209b304
|
|
/* 0209B304 */ _t57 = cpu->r[25] + 0x00000004u;
|
|
/* 0209B304 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
L_0209B308: ; // 0x209b308
|
|
/* 0209B308 */ cpu->r[25] = cpu->r[31] + 0x0000005Cu;
|
|
/* 0209B308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B30C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B30C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209B30C */ if (_t59) goto L_0209B310; else goto L_0209B320;
|
|
L_0209B310: ; // 0x209b310
|
|
/* 0209B310 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B314 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B318 */ cpu->r[25] = cpu->r[3];
|
|
/* 0209B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209B31C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B31C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209B31C */ if (_t61) goto L_0209B390; else goto L_0209B320;
|
|
L_0209B320: ; // 0x209b320
|
|
/* 0209B320 */ cpu->r[30] = cpu->r[25];
|
|
/* 0209B320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B324 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B324 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209B324 */ if (_t63) goto L_0209B328; else goto L_0209B338;
|
|
L_0209B328: ; // 0x209b328
|
|
/* 0209B328 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0209B32C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B330 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209B330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209B334 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B334 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0209B334 */ if (_t65) goto L_0209B38C; else goto L_0209B338;
|
|
L_0209B338: ; // 0x209b338
|
|
/* 0209B338 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209B338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B33C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B33C */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209B33C */ if (_t67) goto L_0209B340; else goto L_0209B364;
|
|
L_0209B340: ; // 0x209b340
|
|
/* 0209B340 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209B344 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B34C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B34C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209B34C */ if (_t69) goto L_0209B350; else goto L_0209B364;
|
|
L_0209B350: ; // 0x209b350
|
|
/* 0209B350 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0209B354 */ _t71 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B354 */ cpu->r[0] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209B358 */ _t72 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B358 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 0209B35C */ _t73 = cpu->r[12] + 0x00000000u;
|
|
/* 0209B35C */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[0]);
|
|
/* 0209B360 */ goto L_0209B38C;
|
|
L_0209B364: ; // 0x209b364
|
|
/* 0209B364 */ cpu->r[10] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209B368 */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 0209B368 */ rbrew_write32(cpu->mem, _t74, cpu->r[24]);
|
|
/* 0209B36C */ cpu->r[0] = 0x00000020u;
|
|
/* 0209B370 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B370 */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
|
|
/* 0209B374 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B374 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 0209B378 */ _t77 = cpu->r[26] + 0x00007399u;
|
|
/* 0209B378 */ cpu->r[0] = rbrew_read8(cpu->mem, _t77);
|
|
/* 0209B37C */ _t78 = cpu->r[30] + 0x00000004u;
|
|
/* 0209B37C */ rbrew_write32(cpu->mem, _t78, cpu->r[28]);
|
|
/* 0209B380 */ _t79 = cpu->r[30] + 0x00000000u;
|
|
/* 0209B380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209B384 */ _t80 = cpu->r[30] + 0x0000002Bu;
|
|
/* 0209B384 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
|
|
/* 0209B388 */ _t81 = cpu->r[12] + 0x00000000u;
|
|
/* 0209B388 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[0]);
|
|
L_0209B38C: ; // 0x209b38c
|
|
/* 0209B38C */ _t82 = cpu->r[25] + 0x00000004u;
|
|
/* 0209B38C */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
L_0209B390: ; // 0x209b390
|
|
/* 0209B390 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B394 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0209B398 */ cpu->r[4] = cpu->r[4] + 0x00000B68u;
|
|
/* 0209B39C */ _t83 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B39C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209B39C */ if (_t84) goto L_0209B3A0; // else: addr-0 trap, fall-through
|
|
L_0209B3A0: ; // 0x209b3a0
|
|
/* 0209B3A0 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 0209B3A8 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209B3A8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209B3A8 */ if (_t86) goto L_0209B3E0; else goto L_0209B3AC;
|
|
L_0209B3AC: ; // 0x209b3ac
|
|
/* 0209B3AC */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B3B0 */ _t87 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B3B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0209B3B4 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0209B3B8 */ cpu->r[4] = cpu->r[4] + 0x00000B3Cu;
|
|
/* 0209B3BC */ _t88 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B3BC */ _t89 = _t88 & 0x00000001u;
|
|
/* 0209B3BC */ if (_t89) goto L_0209B3C0; // else: addr-0 trap, fall-through
|
|
L_0209B3C0: ; // 0x209b3c0
|
|
/* 0209B3C0 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B3C4 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B3C8 */ _t90 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B3C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0209B3CC */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 0209B3D0 */ cpu->r[4] = cpu->r[4] + 0x00000B34u;
|
|
/* 0209B3D4 */ _t91 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B3D4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0209B3D4 */ if (_t92) goto L_0209B3D8; // else: addr-0 trap, fall-through
|
|
L_0209B3D8: ; // 0x209b3d8
|
|
/* 0209B3D8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B3DC */ goto L_0209B490;
|
|
L_0209B3E0: ; // 0x209b3e0
|
|
/* 0209B3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 0209B3E4 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B3E4 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0209B3E4 */ if (_t94) goto L_0209B3E8; else goto L_0209B41C;
|
|
L_0209B3E8: ; // 0x209b3e8
|
|
/* 0209B3E8 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B3EC */ _t95 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B3EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0209B3F0 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0209B3F4 */ cpu->r[4] = cpu->r[4] + 0x00000B7Cu;
|
|
/* 0209B3F8 */ _t96 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B3F8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 0209B3F8 */ if (_t97) goto L_0209B3FC; // else: addr-0 trap, fall-through
|
|
L_0209B3FC: ; // 0x209b3fc
|
|
/* 0209B3FC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B400 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B404 */ _t98 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B404 */ cpu->r[5] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0209B408 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 0209B40C */ cpu->r[4] = cpu->r[4] + 0x00000B44u;
|
|
/* 0209B410 */ _t99 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B410 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0209B410 */ if (_t100) goto L_0209B414; // else: addr-0 trap, fall-through
|
|
L_0209B414: ; // 0x209b414
|
|
/* 0209B414 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B418 */ goto L_0209B490;
|
|
L_0209B41C: ; // 0x209b41c
|
|
/* 0209B41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u);
|
|
/* 0209B420 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B420 */ _t102 = _t101 & 0x00000001u;
|
|
/* 0209B420 */ if (_t102) goto L_0209B424; else goto L_0209B458;
|
|
L_0209B424: ; // 0x209b424
|
|
/* 0209B424 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B428 */ _t103 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B428 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0209B42C */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0209B430 */ cpu->r[4] = cpu->r[4] + 0x00000B88u;
|
|
/* 0209B434 */ _t104 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B434 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0209B434 */ if (_t105) goto L_0209B438; // else: addr-0 trap, fall-through
|
|
L_0209B438: ; // 0x209b438
|
|
/* 0209B438 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B43C */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B440 */ _t106 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B440 */ cpu->r[5] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0209B444 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 0209B448 */ cpu->r[4] = cpu->r[4] + 0x00000B50u;
|
|
/* 0209B44C */ _t107 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B44C */ _t108 = _t107 & 0x00000001u;
|
|
/* 0209B44C */ if (_t108) goto L_0209B450; // else: addr-0 trap, fall-through
|
|
L_0209B450: ; // 0x209b450
|
|
/* 0209B450 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B454 */ goto L_0209B490;
|
|
L_0209B458: ; // 0x209b458
|
|
/* 0209B458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000004u);
|
|
/* 0209B45C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B45C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0209B45C */ if (_t110) goto L_0209B460; else goto L_0209B490;
|
|
L_0209B460: ; // 0x209b460
|
|
/* 0209B460 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B464 */ _t111 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209B468 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0209B46C */ cpu->r[4] = cpu->r[4] + 0x00000B94u;
|
|
/* 0209B470 */ _t112 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B470 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0209B470 */ if (_t113) goto L_0209B474; // else: addr-0 trap, fall-through
|
|
L_0209B474: ; // 0x209b474
|
|
/* 0209B474 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209B478 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B47C */ _t114 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B47C */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0209B480 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 0209B484 */ cpu->r[4] = cpu->r[4] + 0x00000B5Cu;
|
|
/* 0209B488 */ _t115 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209B488 */ _t116 = _t115 & 0x00000001u;
|
|
/* 0209B488 */ if (_t116) goto L_0209B48C; // else: addr-0 trap, fall-through
|
|
L_0209B48C: ; // 0x209b48c
|
|
/* 0209B48C */ Gambit_fn_0282A5F4(cpu);
|
|
L_0209B490: ; // 0x209b490
|
|
/* 0209B490 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B494 */ /* nop */
|
|
/* 0209B498 */ _t117 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0209B49C */ cpu->lr = cpu->r[0];
|
|
/* 0209B4A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0209B4A4 */ return;
|
|
}
|
|
|
|
// fn_0209B4A8 @ 0x209b4a8
|
|
void Gambit_fn_0209B4A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209B4A8: ; // 0x209b4a8
|
|
/* 0209B4A8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209B4AC */ cpu->r[12] = 0x10110000u;
|
|
/* 0209B4B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209B4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209B4B4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0209B4B8 */ _t1 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 0209B4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209B4B8 */ cpu->r[1] = _t1;
|
|
/* 0209B4BC */ _t2 = cpu->r[12] + 0x00007399u;
|
|
/* 0209B4BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209B4C0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B4C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0209B4C4 */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 0209B4C4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209B4C8 */ _t5 = cpu->r[1] + 0x000000AFu;
|
|
/* 0209B4C8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
|
|
/* 0209B4CC */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0209B4D0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B4D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0209B4D4 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209B4D8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B4D8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]);
|
|
/* 0209B4DC */ cpu->r[6] = cpu->r[6] + 0x00000AE8u;
|
|
/* 0209B4E0 */ _t8 = cpu->r[1] + 0x000000B8u;
|
|
/* 0209B4E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209B4E4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B4E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0209B4E8 */ _t10 = cpu->r[1] + 0x000000B0u;
|
|
/* 0209B4E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0209B4EC */ cpu->r[0] = cpu->r[1] + 0x00000024u;
|
|
/* 0209B4F0 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209B4F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0209B4F4 */ cpu->r[5] = cpu->r[3] + 0x00000004u;
|
|
/* 0209B4F8 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 0209B4F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 0209B4FC */ cpu->r[6] = cpu->r[3] + 0x0000005Cu;
|
|
/* 0209B500 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B500 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 0209B504 */ cpu->r[7] = 0x00000040u;
|
|
/* 0209B508 */ _t14 = cpu->r[1] + 0x00000063u;
|
|
/* 0209B508 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 0209B50C */ cpu->r[8] = cpu->r[1] + 0x00000070u;
|
|
/* 0209B510 */ _t15 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0209B510 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 0209B514 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B518 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B518 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0209B51C */ cpu->r[4] = 0x00000001u;
|
|
/* 0209B520 */ _t17 = cpu->r[1] + 0x00000064u;
|
|
/* 0209B520 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0209B524 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B524 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0209B528 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B528 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 0209B52C */ Gambit_fn_027FD390(cpu);
|
|
/* 0209B530 */ _t20 = cpu->r[1] + 0x000000C4u;
|
|
/* 0209B530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209B534 */ cpu->lr = cpu->r[0];
|
|
/* 0209B538 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B538 */ cpu->r[3] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0209B53C */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0209B540 */ return;
|
|
}
|
|
|
|
// fn_0209B4B8 @ 0x209b4b8
|
|
void Gambit_fn_0209B4B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209B4B8: ; // 0x209b4b8
|
|
/* 0209B4B8 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 0209B4B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B4B8 */ cpu->r[1] = _t0;
|
|
/* 0209B4BC */ _t1 = cpu->r[12] + 0x00007399u;
|
|
/* 0209B4BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0209B4C0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B4C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0209B4C4 */ _t3 = cpu->r[1] + 0x00000070u;
|
|
/* 0209B4C4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 0209B4C8 */ _t4 = cpu->r[1] + 0x000000AFu;
|
|
/* 0209B4C8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209B4CC */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0209B4D0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 0209B4D4 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209B4D8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B4D8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[9]);
|
|
/* 0209B4DC */ cpu->r[6] = cpu->r[6] + 0x00000AE8u;
|
|
/* 0209B4E0 */ _t7 = cpu->r[1] + 0x000000B8u;
|
|
/* 0209B4E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0209B4E4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0209B4E8 */ _t9 = cpu->r[1] + 0x000000B0u;
|
|
/* 0209B4E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209B4EC */ cpu->r[0] = cpu->r[1] + 0x00000024u;
|
|
/* 0209B4F0 */ _t10 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209B4F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209B4F4 */ cpu->r[5] = cpu->r[3] + 0x00000004u;
|
|
/* 0209B4F8 */ _t11 = cpu->r[1] + 0x00000068u;
|
|
/* 0209B4F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0209B4FC */ cpu->r[6] = cpu->r[3] + 0x0000005Cu;
|
|
/* 0209B500 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B500 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0209B504 */ cpu->r[7] = 0x00000040u;
|
|
/* 0209B508 */ _t13 = cpu->r[1] + 0x00000063u;
|
|
/* 0209B508 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 0209B50C */ cpu->r[8] = cpu->r[1] + 0x00000070u;
|
|
/* 0209B510 */ _t14 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0209B510 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 0209B514 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B518 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B518 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0209B51C */ cpu->r[4] = 0x00000001u;
|
|
/* 0209B520 */ _t16 = cpu->r[1] + 0x00000064u;
|
|
/* 0209B520 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 0209B524 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B524 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0209B528 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B528 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0209B52C */ Gambit_fn_027FD390(cpu);
|
|
/* 0209B530 */ _t19 = cpu->r[1] + 0x000000C4u;
|
|
/* 0209B530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209B534 */ cpu->lr = cpu->r[0];
|
|
/* 0209B538 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B538 */ cpu->r[3] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0209B53C */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0209B540 */ return;
|
|
}
|
|
|
|
// fn_0209B544 @ 0x209b544
|
|
void Gambit_fn_0209B544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B544: ; // 0x209b544
|
|
/* 0209B544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B548 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B548 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B548 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B548 */ goto L_0209B54C;
|
|
L_0209B54C: ; // 0x209b54c
|
|
/* 0209B54C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B550 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B550 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B550 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B550 */ goto L_0209B554;
|
|
L_0209B554: ; // 0x209b554
|
|
/* 0209B554 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B558 @ 0x209b558
|
|
void Gambit_fn_0209B558(CPUState* cpu) {
|
|
L_0209B558: ; // 0x209b558
|
|
/* 0209B558 */ return;
|
|
}
|
|
|
|
// fn_0209B55C @ 0x209b55c
|
|
void Gambit_fn_0209B55C(CPUState* cpu) {
|
|
L_0209B55C: ; // 0x209b55c
|
|
/* 0209B55C */ return;
|
|
}
|
|
|
|
// fn_0209B560 @ 0x209b560
|
|
void Gambit_fn_0209B560(CPUState* cpu) {
|
|
L_0209B560: ; // 0x209b560
|
|
/* 0209B560 */ return;
|
|
}
|
|
|
|
// fn_0209B564 @ 0x209b564
|
|
void Gambit_fn_0209B564(CPUState* cpu) {
|
|
L_0209B564: ; // 0x209b564
|
|
/* 0209B564 */ return;
|
|
}
|
|
|
|
// fn_0209B568 @ 0x209b568
|
|
void Gambit_fn_0209B568(CPUState* cpu) {
|
|
L_0209B568: ; // 0x209b568
|
|
/* 0209B568 */ return;
|
|
}
|
|
|
|
// fn_0209B56C @ 0x209b56c
|
|
void Gambit_fn_0209B56C(CPUState* cpu) {
|
|
L_0209B56C: ; // 0x209b56c
|
|
/* 0209B56C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209B570 */ return;
|
|
}
|
|
|
|
// fn_0209B574 @ 0x209b574
|
|
void Gambit_fn_0209B574(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B574: ; // 0x209b574
|
|
/* 0209B574 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209B574 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209B578 */ return;
|
|
}
|
|
|
|
// fn_0209B57C @ 0x209b57c
|
|
void Gambit_fn_0209B57C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B57C: ; // 0x209b57c
|
|
/* 0209B57C */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209B57C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B580 */ return;
|
|
}
|
|
|
|
// fn_0209B584 @ 0x209b584
|
|
void Gambit_fn_0209B584(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B584: ; // 0x209b584
|
|
/* 0209B584 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209B584 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209B588 */ return;
|
|
}
|
|
|
|
// fn_0209B58C @ 0x209b58c
|
|
void Gambit_fn_0209B58C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B58C: ; // 0x209b58c
|
|
/* 0209B58C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209B58C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B590 */ return;
|
|
}
|
|
|
|
// fn_0209B594 @ 0x209b594
|
|
void Gambit_fn_0209B594(CPUState* cpu) {
|
|
L_0209B594: ; // 0x209b594
|
|
/* 0209B594 */ return;
|
|
}
|
|
|
|
// fn_0209B598 @ 0x209b598
|
|
void Gambit_fn_0209B598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B598: ; // 0x209b598
|
|
/* 0209B598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B59C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B59C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B59C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B59C */ goto L_0209B5A0;
|
|
L_0209B5A0: ; // 0x209b5a0
|
|
/* 0209B5A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B5A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B5A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5A4 */ goto L_0209B5A8;
|
|
L_0209B5A8: ; // 0x209b5a8
|
|
/* 0209B5A8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B5AC @ 0x209b5ac
|
|
void Gambit_fn_0209B5AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209B5AC: ; // 0x209b5ac
|
|
/* 0209B5AC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209B5AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B5B0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0209B5B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209B5B4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0209B5B8 */ cpu->r[11] = 0x10110000u;
|
|
/* 0209B5BC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0209B5BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209B5C0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209B5C0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0209B5C4 */ return;
|
|
}
|
|
|
|
// fn_0209B5C8 @ 0x209b5c8
|
|
void Gambit_fn_0209B5C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B5C8: ; // 0x209b5c8
|
|
/* 0209B5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B5CC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5CC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B5CC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5CC */ goto L_0209B5D0;
|
|
L_0209B5D0: ; // 0x209b5d0
|
|
/* 0209B5D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B5D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B5D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5D4 */ goto L_0209B5D8;
|
|
L_0209B5D8: ; // 0x209b5d8
|
|
/* 0209B5D8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B5DC @ 0x209b5dc
|
|
void Gambit_fn_0209B5DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B5DC: ; // 0x209b5dc
|
|
/* 0209B5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B5E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B5E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5E0 */ goto L_0209B5E4;
|
|
L_0209B5E4: ; // 0x209b5e4
|
|
/* 0209B5E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B5E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B5E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5E8 */ goto L_0209B5EC;
|
|
L_0209B5EC: ; // 0x209b5ec
|
|
/* 0209B5EC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B5F0 @ 0x209b5f0
|
|
void Gambit_fn_0209B5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B5F0: ; // 0x209b5f0
|
|
/* 0209B5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B5F4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B5F4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5F4 */ goto L_0209B5F8;
|
|
L_0209B5F8: ; // 0x209b5f8
|
|
/* 0209B5F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B5FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B5FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B5FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B5FC */ goto L_0209B600;
|
|
L_0209B600: ; // 0x209b600
|
|
/* 0209B600 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B604 @ 0x209b604
|
|
void Gambit_fn_0209B604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209B604: ; // 0x209b604
|
|
/* 0209B604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209B608 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B608 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209B608 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B608 */ goto L_0209B60C;
|
|
L_0209B60C: ; // 0x209b60c
|
|
/* 0209B60C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209B60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209B610 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B610 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209B610 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209B610 */ goto L_0209B614;
|
|
L_0209B614: ; // 0x209b614
|
|
/* 0209B614 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209B618 @ 0x209b618
|
|
void Gambit_fn_0209B618(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B618: ; // 0x209b618
|
|
/* 0209B618 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209B618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209B61C */ return;
|
|
}
|
|
|
|
// fn_0209B620 @ 0x209b620
|
|
void Gambit_fn_0209B620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209B620: ; // 0x209b620
|
|
/* 0209B620 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209B624 */ goto L_0209BA4C;
|
|
L_0209BA4C: ; // 0x209ba4c
|
|
/* 0209BA4C */ cpu->r[0] = cpu->lr;
|
|
/* 0209BA50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BA50 */ cpu->r[1] = _t0;
|
|
/* 0209BA54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BA54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BA58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BA5C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA60 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BA64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BA68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BA68 */ if (_t5) goto L_0209BAD8; else goto L_0209BA6C;
|
|
L_0209BA6C: ; // 0x209ba6c
|
|
/* 0209BA6C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BA70 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BA74 */ cpu->r[0] = cpu->r[0] + 0x00000F30u;
|
|
/* 0209BA78 */ cpu->r[12] = cpu->r[12] + 0x00000F50u;
|
|
/* 0209BA7C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BA7C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BA80 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BA84 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BA84 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BA88 */ cpu->r[11] = cpu->r[11] + 0x00000F40u;
|
|
/* 0209BA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA90 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BA90 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BA94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BA94 */ if (_t10) goto L_0209BAC8; else goto L_0209BA98;
|
|
L_0209BA98: ; // 0x209ba98
|
|
/* 0209BA98 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BA9C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAA0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209BAA4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209BAA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAAC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BAAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BAB0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAB4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BAB4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BAB8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209BABC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BAC0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BAC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BAC4 */ Gambit_fn_02068798(cpu);
|
|
L_0209BAC8: ; // 0x209bac8
|
|
/* 0209BAC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209BACC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BACC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209BACC */ if (_t15) goto L_0209BAD8; else goto L_0209BAD0;
|
|
L_0209BAD0: ; // 0x209bad0
|
|
/* 0209BAD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAD4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209BAD8: ; // 0x209bad8
|
|
/* 0209BAD8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209BADC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209BAE0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BAE4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209BAE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BAEC */ return;
|
|
}
|
|
|
|
// fn_0209B628 @ 0x209b628
|
|
void Gambit_fn_0209B628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0209B628: ; // 0x209b628
|
|
/* 0209B628 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209B62C */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209B630 @ 0x209b630
|
|
void Gambit_fn_0209B630(CPUState* cpu) {
|
|
L_0209B630: ; // 0x209b630
|
|
/* 0209B630 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209B634 */ goto L_0209BAF0;
|
|
L_0209BAF0: ; // 0x209baf0
|
|
/* 0209BAF0 */ return;
|
|
}
|
|
|
|
// fn_0209B638 @ 0x209b638
|
|
void Gambit_fn_0209B638(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209B638: ; // 0x209b638
|
|
/* 0209B638 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209B63C */ goto L_0209BAF4;
|
|
L_0209BAF4: ; // 0x209baf4
|
|
/* 0209BAF4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209BAF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BAF8 */ return;
|
|
}
|
|
|
|
// fn_0209B640 @ 0x209b640
|
|
void Gambit_fn_0209B640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209B640: ; // 0x209b640
|
|
/* 0209B640 */ cpu->r[0] = cpu->lr;
|
|
/* 0209B644 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B644 */ cpu->r[1] = _t0;
|
|
/* 0209B648 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B64C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B650 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B650 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B654 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B654 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209B654 */ if (_t4) goto L_0209B658; else goto L_0209B668;
|
|
L_0209B658: ; // 0x209b658
|
|
/* 0209B658 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209B65C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B660 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B664 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B664 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209B664 */ if (_t6) goto L_0209B6C4; else goto L_0209B668;
|
|
L_0209B668: ; // 0x209b668
|
|
/* 0209B668 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B66C */ cpu->r[5] = 0x00000000u;
|
|
/* 0209B670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B674 */ cpu->r[4] = cpu->r[4] + 0x00000CC8u;
|
|
/* 0209B678 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209B67C */ Gambit_fn_020B6F60(cpu);
|
|
/* 0209B680 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B684 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B688 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209B68C */ cpu->r[12] = cpu->r[12] + 0x00000F30u;
|
|
/* 0209B690 */ cpu->r[0] = cpu->r[0] + 0x00000F40u;
|
|
/* 0209B694 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209B694 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209B698 */ cpu->r[11] = cpu->r[11] + 0x00000D50u;
|
|
/* 0209B69C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209B6A0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209B6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209B6A4 */ cpu->r[10] = cpu->r[10] + 0x00000F50u;
|
|
/* 0209B6A8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B6A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0209B6AC */ cpu->r[11] = 0x00000000u;
|
|
/* 0209B6B0 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209B6B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0209B6B4 */ _t11 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B6B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209B6B8 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0209B6B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0209B6BC */ _t13 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209B6BC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209B6C0 */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 0209B6C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_0209B6C4: ; // 0x209b6c4
|
|
/* 0209B6C4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B6C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B6CC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B6CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209B6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209B6D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B6D8 */ return;
|
|
}
|
|
|
|
// fn_0209B644 @ 0x209b644
|
|
void Gambit_fn_0209B644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209B644: ; // 0x209b644
|
|
/* 0209B644 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B644 */ cpu->r[1] = _t0;
|
|
/* 0209B648 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B64C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B650 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B650 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B654 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B654 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209B654 */ if (_t4) goto L_0209B658; else goto L_0209B668;
|
|
L_0209B658: ; // 0x209b658
|
|
/* 0209B658 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209B65C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209B660 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209B664 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B664 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209B664 */ if (_t6) goto L_0209B6C4; else goto L_0209B668;
|
|
L_0209B668: ; // 0x209b668
|
|
/* 0209B668 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209B66C */ cpu->r[5] = 0x00000000u;
|
|
/* 0209B670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B674 */ cpu->r[4] = cpu->r[4] + 0x00000CC8u;
|
|
/* 0209B678 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209B67C */ Gambit_fn_020B6F60(cpu);
|
|
/* 0209B680 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B684 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B688 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209B68C */ cpu->r[12] = cpu->r[12] + 0x00000F30u;
|
|
/* 0209B690 */ cpu->r[0] = cpu->r[0] + 0x00000F40u;
|
|
/* 0209B694 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209B694 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209B698 */ cpu->r[11] = cpu->r[11] + 0x00000D50u;
|
|
/* 0209B69C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209B6A0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209B6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209B6A4 */ cpu->r[10] = cpu->r[10] + 0x00000F50u;
|
|
/* 0209B6A8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0209B6A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0209B6AC */ cpu->r[11] = 0x00000000u;
|
|
/* 0209B6B0 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209B6B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0209B6B4 */ _t11 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B6B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209B6B8 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0209B6B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0209B6BC */ _t13 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209B6BC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209B6C0 */ _t14 = cpu->r[31] + 0x00000224u;
|
|
/* 0209B6C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_0209B6C4: ; // 0x209b6c4
|
|
/* 0209B6C4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B6C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B6CC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B6CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209B6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209B6D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B6D8 */ return;
|
|
}
|
|
|
|
// fn_0209B6DC @ 0x209b6dc
|
|
void Gambit_fn_0209B6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209B6DC: ; // 0x209b6dc
|
|
/* 0209B6DC */ cpu->r[0] = cpu->lr;
|
|
/* 0209B6E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B6E0 */ cpu->r[1] = _t0;
|
|
/* 0209B6E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B6E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B6EC */ cpu->r[5] = cpu->r[4];
|
|
/* 0209B6F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B6F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B6F4 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B6F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B6F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209B6FC */ Gambit_fn_020A77B8(cpu);
|
|
/* 0209B700 */ _t4 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209B704 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0209B708 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209B708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B70C */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B710 */ _t6 = cpu->r[31] + 0x00000220u;
|
|
/* 0209B710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B714 */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B718 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209B718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B71C */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B720 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B724 */ cpu->lr = cpu->r[0];
|
|
/* 0209B728 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B728 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B72C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B730 */ return;
|
|
}
|
|
|
|
// fn_0209B6E0 @ 0x209b6e0
|
|
void Gambit_fn_0209B6E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209B6E0: ; // 0x209b6e0
|
|
/* 0209B6E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209B6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B6E0 */ cpu->r[1] = _t0;
|
|
/* 0209B6E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B6E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B6EC */ cpu->r[5] = cpu->r[4];
|
|
/* 0209B6F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B6F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209B6F4 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B6F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209B6F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209B6FC */ Gambit_fn_020A77B8(cpu);
|
|
/* 0209B700 */ _t4 = cpu->r[31] + 0x00000228u;
|
|
/* 0209B700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209B704 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0209B708 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0209B708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209B70C */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B710 */ _t6 = cpu->r[31] + 0x00000220u;
|
|
/* 0209B710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209B714 */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B718 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209B718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B71C */ Gambit_fn_027F05C8(cpu);
|
|
/* 0209B720 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B724 */ cpu->lr = cpu->r[0];
|
|
/* 0209B728 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B728 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209B72C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B730 */ return;
|
|
}
|
|
|
|
// fn_0209B744 @ 0x209b744
|
|
void Gambit_fn_0209B744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0209B744: ; // 0x209b744
|
|
/* 0209B744 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209B744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B744 */ cpu->r[1] = _t0;
|
|
/* 0209B748 */ cpu->r[0] = cpu->r[0] + 0x00000CA0u;
|
|
/* 0209B74C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209B74C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209B74C */ if (_t2) goto L_0209B76C; else goto L_0209B750;
|
|
L_0209B750: ; // 0x209b750
|
|
/* 0209B750 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B750 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209B750 */ if (_t4) goto L_0209B788; else goto L_0209B754;
|
|
L_0209B754: ; // 0x209b754
|
|
/* 0209B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 0209B758 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209B758 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209B758 */ if (_t6) goto L_0209B7A4; else goto L_0209B75C;
|
|
L_0209B75C: ; // 0x209b75c
|
|
/* 0209B75C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B760 */ cpu->lr = cpu->r[0];
|
|
/* 0209B764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B768 */ return;
|
|
L_0209B76C: ; // 0x209b76c
|
|
/* 0209B76C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B770 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B770 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209B774 */ cpu->r[12] = cpu->r[12] + 0x00000CD8u;
|
|
/* 0209B778 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B77C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B77C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0209B780 */ Gambit_fn_0209B6DC(cpu);
|
|
/* 0209B784 */ goto L_0209B7BC;
|
|
L_0209B788: ; // 0x209b788
|
|
/* 0209B788 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B78C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B78C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209B790 */ cpu->r[12] = cpu->r[12] + 0x00000CDCu;
|
|
/* 0209B794 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B798 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B798 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0209B79C */ Gambit_fn_0209B6DC(cpu);
|
|
/* 0209B7A0 */ goto L_0209B7BC;
|
|
L_0209B7A4: ; // 0x209b7a4
|
|
/* 0209B7A4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B7A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B7A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209B7AC */ cpu->r[12] = cpu->r[12] + 0x00000CE0u;
|
|
/* 0209B7B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B7B4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B7B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209B7B8 */ Gambit_fn_0209B6DC(cpu);
|
|
L_0209B7BC: ; // 0x209b7bc
|
|
/* 0209B7BC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B7BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209B7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0209B7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B7C8 */ return;
|
|
}
|
|
|
|
// fn_0209B7CC @ 0x209b7cc
|
|
void Gambit_fn_0209B7CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209B7CC: ; // 0x209b7cc
|
|
/* 0209B7CC */ cpu->r[0] = cpu->lr;
|
|
/* 0209B7D0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0209B7D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B7D0 */ cpu->r[1] = _t0;
|
|
/* 0209B7D4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B7D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B7D8 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B7DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B7DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209B7E0 */ cpu->r[12] = cpu->r[12] + 0x00000CECu;
|
|
/* 0209B7E4 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B7E8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0209B7E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0209B7EC */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0209B7EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209B7F0 */ cpu->r[29] = 0x10010000u;
|
|
/* 0209B7F4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B7F8 */ cpu->r[29] = cpu->r[29] + 0x00000CA0u;
|
|
/* 0209B7FC */ cpu->r[0] = cpu->r[0] + 0x00000CF0u;
|
|
/* 0209B800 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B800 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0209B804 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B808 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B808 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209B80C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B80C */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0209B810 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209B814 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B814 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0209B818 */ cpu->r[30] = cpu->r[30] + 0x00000CE4u;
|
|
/* 0209B81C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B820 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B820 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0209B824 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B828 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B828 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209B82C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209B830 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B830 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0209B834 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B838 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B838 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0209B83C */ Gambit_fn_020B7778(cpu);
|
|
/* 0209B840 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209B844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B848 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B84C */ Gambit_fn_027ED798(cpu);
|
|
/* 0209B850 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209B854 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0209B854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209B858 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0209B858 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B85C */ cpu->lr = cpu->r[0];
|
|
/* 0209B860 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209B864 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0209B868 */ return;
|
|
}
|
|
|
|
// fn_0209B7D0 @ 0x209b7d0
|
|
void Gambit_fn_0209B7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209B7D0: ; // 0x209b7d0
|
|
/* 0209B7D0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0209B7D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B7D0 */ cpu->r[1] = _t0;
|
|
/* 0209B7D4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B7D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209B7D8 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B7DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B7DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209B7E0 */ cpu->r[12] = cpu->r[12] + 0x00000CECu;
|
|
/* 0209B7E4 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B7E8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0209B7E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0209B7EC */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0209B7EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209B7F0 */ cpu->r[29] = 0x10010000u;
|
|
/* 0209B7F4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B7F8 */ cpu->r[29] = cpu->r[29] + 0x00000CA0u;
|
|
/* 0209B7FC */ cpu->r[0] = cpu->r[0] + 0x00000CF0u;
|
|
/* 0209B800 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B800 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0209B804 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B808 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B808 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209B80C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B80C */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0209B810 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209B814 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B814 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0209B818 */ cpu->r[30] = cpu->r[30] + 0x00000CE4u;
|
|
/* 0209B81C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209B820 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B820 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0209B824 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B828 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B828 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209B82C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209B830 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B830 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0209B834 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B838 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B838 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0209B83C */ Gambit_fn_020B7778(cpu);
|
|
/* 0209B840 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209B844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209B848 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B84C */ Gambit_fn_027ED798(cpu);
|
|
/* 0209B850 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209B854 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0209B854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209B858 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0209B858 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209B85C */ cpu->lr = cpu->r[0];
|
|
/* 0209B860 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209B864 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0209B868 */ return;
|
|
}
|
|
|
|
// fn_0209B86C @ 0x209b86c
|
|
void Gambit_fn_0209B86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209B86C: ; // 0x209b86c
|
|
/* 0209B86C */ cpu->r[0] = cpu->lr;
|
|
/* 0209B870 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209B874 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209B878 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209B87C */ cpu->r[10] = cpu->r[10] + 0x00000D08u;
|
|
/* 0209B880 */ cpu->r[12] = cpu->r[12] + 0x00000CFCu;
|
|
/* 0209B884 */ cpu->r[11] = cpu->r[11] + 0x00000CA0u;
|
|
/* 0209B888 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209B888 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209B88C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B890 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209B890 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209B890 */ cpu->r[1] = _t1;
|
|
/* 0209B894 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B894 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209B898 */ cpu->r[0] = cpu->r[0] + 0x00000D04u;
|
|
/* 0209B89C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B89C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0209B8A0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B8A4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B8A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0209B8A8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B8AC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B8AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209B8B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8B4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B8B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0209B8B8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209B8BC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209B8C0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209B8C4 */ cpu->lr = cpu->r[0];
|
|
/* 0209B8C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209B8CC */ return;
|
|
}
|
|
|
|
// fn_0209B890 @ 0x209b890
|
|
void Gambit_fn_0209B890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209B890: ; // 0x209b890
|
|
/* 0209B890 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209B890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B890 */ cpu->r[1] = _t0;
|
|
/* 0209B894 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B894 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0209B898 */ cpu->r[0] = cpu->r[0] + 0x00000D04u;
|
|
/* 0209B89C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0209B89C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 0209B8A0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B8A4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B8A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209B8A8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209B8AC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B8AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209B8B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8B4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B8B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209B8B8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0209B8BC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209B8C0 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209B8C4 */ cpu->lr = cpu->r[0];
|
|
/* 0209B8C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209B8CC */ return;
|
|
}
|
|
|
|
// fn_0209B8D0 @ 0x209b8d0
|
|
void Gambit_fn_0209B8D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0209B8D0: ; // 0x209b8d0
|
|
/* 0209B8D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209B8D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0209B8D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B8D4 */ cpu->r[1] = _t0;
|
|
/* 0209B8D8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B8D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209B8DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B8DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209B8E0 */ cpu->r[31] = 0x10010000u;
|
|
/* 0209B8E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209B8E8 */ cpu->r[31] = cpu->r[31] + 0x00000CA0u;
|
|
/* 0209B8EC */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B8F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B8F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209B8F4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8F8 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B8F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209B8FC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B900 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B900 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0209B904 */ cpu->r[0] = cpu->r[0] + 0x00000D28u;
|
|
/* 0209B908 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B90C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B90C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209B910 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209B914 */ cpu->r[29] = 0x10010000u;
|
|
/* 0209B918 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209B91C */ cpu->r[29] = cpu->r[29] + 0x00000D14u;
|
|
/* 0209B920 */ cpu->r[11] = cpu->r[11] + 0x00000D34u;
|
|
/* 0209B924 */ _t7 = cpu->r[30] + 0x00000228u;
|
|
/* 0209B924 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209B928 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B92C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B92C */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0209B930 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B934 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B934 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0209B938 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B938 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209B93C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B940 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B944 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B944 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0209B948 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B94C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B950 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B950 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0209B954 */ cpu->r[0] = cpu->r[0] + 0x00000D18u;
|
|
/* 0209B958 */ _t13 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0209B958 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0209B95C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B960 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B960 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0209B964 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B968 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B968 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 0209B96C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B970 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B974 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B974 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0209B978 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B97C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209B980 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B980 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 0209B984 */ cpu->r[10] = cpu->r[10] + 0x00000D40u;
|
|
/* 0209B988 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B988 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 0209B98C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B990 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B990 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0209B994 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B998 */ _t20 = cpu->r[30] + 0x00000220u;
|
|
/* 0209B998 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0209B99C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B9A0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B9A4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B9A4 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 0209B9A8 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B9AC */ _t22 = cpu->r[30] + 0x00000224u;
|
|
/* 0209B9AC */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 0209B9B0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B9B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209B9B4 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209B9B8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B9B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209B9BC */ cpu->lr = cpu->r[0];
|
|
/* 0209B9C0 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B9C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209B9C4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0209B9C8 */ return;
|
|
}
|
|
|
|
// fn_0209B8D4 @ 0x209b8d4
|
|
void Gambit_fn_0209B8D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0209B8D4: ; // 0x209b8d4
|
|
/* 0209B8D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0209B8D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B8D4 */ cpu->r[1] = _t0;
|
|
/* 0209B8D8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B8D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209B8DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B8DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209B8E0 */ cpu->r[31] = 0x10010000u;
|
|
/* 0209B8E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209B8E8 */ cpu->r[31] = cpu->r[31] + 0x00000CA0u;
|
|
/* 0209B8EC */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B8F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B8F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209B8F4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B8F8 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B8F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209B8FC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B900 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B900 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0209B904 */ cpu->r[0] = cpu->r[0] + 0x00000D28u;
|
|
/* 0209B908 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B90C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B90C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209B910 */ Gambit_fn_020A7150(cpu);
|
|
/* 0209B914 */ cpu->r[29] = 0x10010000u;
|
|
/* 0209B918 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209B91C */ cpu->r[29] = cpu->r[29] + 0x00000D14u;
|
|
/* 0209B920 */ cpu->r[11] = cpu->r[11] + 0x00000D34u;
|
|
/* 0209B924 */ _t7 = cpu->r[30] + 0x00000228u;
|
|
/* 0209B924 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209B928 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B92C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B92C */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0209B930 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B934 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B934 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0209B938 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B938 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209B93C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B940 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B944 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B944 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0209B948 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B94C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209B950 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B950 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0209B954 */ cpu->r[0] = cpu->r[0] + 0x00000D18u;
|
|
/* 0209B958 */ _t13 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0209B958 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0209B95C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B960 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B960 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0209B964 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B968 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B968 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 0209B96C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B970 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B974 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B974 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0209B978 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B97C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209B980 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0209B980 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 0209B984 */ cpu->r[10] = cpu->r[10] + 0x00000D40u;
|
|
/* 0209B988 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209B988 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 0209B98C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209B990 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0209B990 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0209B994 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209B998 */ _t20 = cpu->r[30] + 0x00000220u;
|
|
/* 0209B998 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0209B99C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209B9A0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209B9A4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209B9A4 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 0209B9A8 */ Gambit_fn_027F0508(cpu);
|
|
/* 0209B9AC */ _t22 = cpu->r[30] + 0x00000224u;
|
|
/* 0209B9AC */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 0209B9B0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209B9B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209B9B4 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209B9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209B9B8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0209B9B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209B9BC */ cpu->lr = cpu->r[0];
|
|
/* 0209B9C0 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0209B9C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209B9C4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0209B9C8 */ return;
|
|
}
|
|
|
|
// fn_0209B9CC @ 0x209b9cc
|
|
void Gambit_fn_0209B9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209B9CC: ; // 0x209b9cc
|
|
/* 0209B9CC */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0209B9D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209B9D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B9D0 */ cpu->r[1] = _t0;
|
|
/* 0209B9D4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209B9D8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209B9DC */ _t1 = cpu->r[10] + 0xFFFFD9F0u;
|
|
/* 0209B9DC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209B9DC */ cpu->r[10] = _t1;
|
|
/* 0209B9E0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209B9E4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209B9E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209B9E8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209B9EC */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209B9F0 */ _t3 = cpu->r[7] + 0xFFFFDA00u;
|
|
/* 0209B9F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209B9F0 */ cpu->r[7] = _t3;
|
|
/* 0209B9F4 */ _t4 = cpu->r[8] + 0xFFFFD9F8u;
|
|
/* 0209B9F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209B9F4 */ cpu->r[8] = _t4;
|
|
/* 0209B9F8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0209B9FC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209B9FC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209BA00 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209BA04 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BA08 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209BA0C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209BA0C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209BA10 */ _t8 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 0209BA10 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209BA10 */ cpu->r[8] = _t8;
|
|
/* 0209BA14 */ _t9 = cpu->r[12] + 0xFFFFDA08u;
|
|
/* 0209BA14 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209BA14 */ cpu->r[12] = _t9;
|
|
/* 0209BA18 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209BA18 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209BA1C */ cpu->r[0] = 0x00000004u;
|
|
/* 0209BA20 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209BA20 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209BA24 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209BA28 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209BA2C */ _t13 = cpu->r[11] + 0xFFFFDA18u;
|
|
/* 0209BA2C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BA30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209BA34 */ return;
|
|
}
|
|
|
|
// fn_0209B9D0 @ 0x209b9d0
|
|
void Gambit_fn_0209B9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209B9D0: ; // 0x209b9d0
|
|
/* 0209B9D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209B9D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209B9D0 */ cpu->r[1] = _t0;
|
|
/* 0209B9D4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209B9D8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209B9DC */ _t1 = cpu->r[10] + 0xFFFFD9F0u;
|
|
/* 0209B9DC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209B9DC */ cpu->r[10] = _t1;
|
|
/* 0209B9E0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209B9E4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209B9E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209B9E8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209B9EC */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209B9F0 */ _t3 = cpu->r[7] + 0xFFFFDA00u;
|
|
/* 0209B9F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209B9F0 */ cpu->r[7] = _t3;
|
|
/* 0209B9F4 */ _t4 = cpu->r[8] + 0xFFFFD9F8u;
|
|
/* 0209B9F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209B9F4 */ cpu->r[8] = _t4;
|
|
/* 0209B9F8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0209B9FC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209B9FC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209BA00 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209BA04 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BA08 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209BA0C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209BA0C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209BA10 */ _t8 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 0209BA10 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209BA10 */ cpu->r[8] = _t8;
|
|
/* 0209BA14 */ _t9 = cpu->r[12] + 0xFFFFDA08u;
|
|
/* 0209BA14 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209BA14 */ cpu->r[12] = _t9;
|
|
/* 0209BA18 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209BA18 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209BA1C */ cpu->r[0] = 0x00000004u;
|
|
/* 0209BA20 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209BA20 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209BA24 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209BA28 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209BA2C */ _t13 = cpu->r[11] + 0xFFFFDA18u;
|
|
/* 0209BA2C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BA30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209BA34 */ return;
|
|
}
|
|
|
|
// fn_0209BA38 @ 0x209ba38
|
|
void Gambit_fn_0209BA38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209BA38: ; // 0x209ba38
|
|
/* 0209BA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BA3C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA3C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209BA3C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209BA3C */ goto L_0209BA40;
|
|
L_0209BA40: ; // 0x209ba40
|
|
/* 0209BA40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BA44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209BA44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209BA44 */ goto L_0209BA48;
|
|
L_0209BA48: ; // 0x209ba48
|
|
/* 0209BA48 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209BA4C @ 0x209ba4c
|
|
void Gambit_fn_0209BA4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209BA4C: ; // 0x209ba4c
|
|
/* 0209BA4C */ cpu->r[0] = cpu->lr;
|
|
/* 0209BA50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BA50 */ cpu->r[1] = _t0;
|
|
/* 0209BA54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BA54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BA58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BA5C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA60 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BA64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BA68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BA68 */ if (_t5) goto L_0209BAD8; else goto L_0209BA6C;
|
|
L_0209BA6C: ; // 0x209ba6c
|
|
/* 0209BA6C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BA70 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BA74 */ cpu->r[0] = cpu->r[0] + 0x00000F30u;
|
|
/* 0209BA78 */ cpu->r[12] = cpu->r[12] + 0x00000F50u;
|
|
/* 0209BA7C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BA7C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BA80 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BA84 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BA84 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BA88 */ cpu->r[11] = cpu->r[11] + 0x00000F40u;
|
|
/* 0209BA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA90 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BA90 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BA94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BA94 */ if (_t10) goto L_0209BAC8; else goto L_0209BA98;
|
|
L_0209BA98: ; // 0x209ba98
|
|
/* 0209BA98 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BA9C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAA0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209BAA4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209BAA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAAC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BAAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BAB0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAB4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BAB4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BAB8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209BABC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BAC0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BAC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BAC4 */ Gambit_fn_02068798(cpu);
|
|
L_0209BAC8: ; // 0x209bac8
|
|
/* 0209BAC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209BACC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BACC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209BACC */ if (_t15) goto L_0209BAD8; else goto L_0209BAD0;
|
|
L_0209BAD0: ; // 0x209bad0
|
|
/* 0209BAD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAD4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209BAD8: ; // 0x209bad8
|
|
/* 0209BAD8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209BADC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209BAE0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BAE4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209BAE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BAEC */ return;
|
|
}
|
|
|
|
// fn_0209BA50 @ 0x209ba50
|
|
void Gambit_fn_0209BA50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209BA50: ; // 0x209ba50
|
|
/* 0209BA50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BA50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BA50 */ cpu->r[1] = _t0;
|
|
/* 0209BA54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BA54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BA58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BA58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BA5C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA60 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BA64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BA68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BA68 */ if (_t5) goto L_0209BAD8; else goto L_0209BA6C;
|
|
L_0209BA6C: ; // 0x209ba6c
|
|
/* 0209BA6C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BA70 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BA74 */ cpu->r[0] = cpu->r[0] + 0x00000F30u;
|
|
/* 0209BA78 */ cpu->r[12] = cpu->r[12] + 0x00000F50u;
|
|
/* 0209BA7C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BA7C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BA80 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BA84 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BA84 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BA88 */ cpu->r[11] = cpu->r[11] + 0x00000F40u;
|
|
/* 0209BA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BA90 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BA90 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BA94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BA94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BA94 */ if (_t10) goto L_0209BAC8; else goto L_0209BA98;
|
|
L_0209BA98: ; // 0x209ba98
|
|
/* 0209BA98 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BA9C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAA0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0209BAA4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0209BAA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAAC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BAAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BAB0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BAB4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BAB4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BAB8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0209BABC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BAC0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BAC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BAC4 */ Gambit_fn_02068798(cpu);
|
|
L_0209BAC8: ; // 0x209bac8
|
|
/* 0209BAC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209BACC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BACC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209BACC */ if (_t15) goto L_0209BAD8; else goto L_0209BAD0;
|
|
L_0209BAD0: ; // 0x209bad0
|
|
/* 0209BAD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BAD4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209BAD8: ; // 0x209bad8
|
|
/* 0209BAD8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209BADC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209BAE0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BAE4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209BAE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BAEC */ return;
|
|
}
|
|
|
|
// fn_0209BAF0 @ 0x209baf0
|
|
void Gambit_fn_0209BAF0(CPUState* cpu) {
|
|
L_0209BAF0: ; // 0x209baf0
|
|
/* 0209BAF0 */ return;
|
|
}
|
|
|
|
// fn_0209BAF4 @ 0x209baf4
|
|
void Gambit_fn_0209BAF4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209BAF4: ; // 0x209baf4
|
|
/* 0209BAF4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209BAF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BAF8 */ return;
|
|
}
|
|
|
|
// fn_0209BAFC @ 0x209bafc
|
|
void Gambit_fn_0209BAFC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209BAFC: ; // 0x209bafc
|
|
/* 0209BAFC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209BAFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BB00 */ return;
|
|
}
|
|
|
|
// fn_0209BB04 @ 0x209bb04
|
|
void Gambit_fn_0209BB04(CPUState* cpu) {
|
|
L_0209BB04: ; // 0x209bb04
|
|
/* 0209BB04 */ return;
|
|
}
|
|
|
|
// fn_0209BB08 @ 0x209bb08
|
|
void Gambit_fn_0209BB08(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209BB08: ; // 0x209bb08
|
|
/* 0209BB08 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209BB08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BB0C */ return;
|
|
}
|
|
|
|
// fn_0209BB10 @ 0x209bb10
|
|
void Gambit_fn_0209BB10(CPUState* cpu) {
|
|
L_0209BB10: ; // 0x209bb10
|
|
/* 0209BB10 */ return;
|
|
}
|
|
|
|
// fn_0209BB14 @ 0x209bb14
|
|
void Gambit_fn_0209BB14(CPUState* cpu) {
|
|
L_0209BB14: ; // 0x209bb14
|
|
/* 0209BB14 */ return;
|
|
}
|
|
|
|
// fn_0209BB18 @ 0x209bb18
|
|
void Gambit_fn_0209BB18(CPUState* cpu) {
|
|
L_0209BB18: ; // 0x209bb18
|
|
/* 0209BB18 */ return;
|
|
}
|
|
|
|
// fn_0209BB1C @ 0x209bb1c
|
|
void Gambit_fn_0209BB1C(CPUState* cpu) {
|
|
L_0209BB1C: ; // 0x209bb1c
|
|
/* 0209BB1C */ return;
|
|
}
|
|
|
|
// fn_0209BB20 @ 0x209bb20
|
|
void Gambit_fn_0209BB20(CPUState* cpu) {
|
|
L_0209BB20: ; // 0x209bb20
|
|
/* 0209BB20 */ return;
|
|
}
|
|
|
|
// fn_0209BB24 @ 0x209bb24
|
|
void Gambit_fn_0209BB24(CPUState* cpu) {
|
|
L_0209BB24: ; // 0x209bb24
|
|
/* 0209BB24 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209BB28 */ return;
|
|
}
|
|
|
|
// fn_0209BB2C @ 0x209bb2c
|
|
void Gambit_fn_0209BB2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209BB2C: ; // 0x209bb2c
|
|
/* 0209BB2C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BB2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BB30 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209BB30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209BB34 */ cpu->ctr = cpu->r[0];
|
|
/* 0209BB38 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209BB3C @ 0x209bb3c
|
|
void Gambit_fn_0209BB3C(CPUState* cpu) {
|
|
L_0209BB3C: ; // 0x209bb3c
|
|
/* 0209BB3C */ return;
|
|
}
|
|
|
|
// fn_0209BB40 @ 0x209bb40
|
|
void Gambit_fn_0209BB40(CPUState* cpu) {
|
|
L_0209BB40: ; // 0x209bb40
|
|
/* 0209BB40 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209BB44 */ return;
|
|
}
|
|
|
|
// fn_0209BB48 @ 0x209bb48
|
|
void Gambit_fn_0209BB48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209BB48: ; // 0x209bb48
|
|
/* 0209BB48 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209BB4C */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0209BB4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209BB4C */ cpu->r[9] = _t0;
|
|
/* 0209BB50 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209BB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209BB58 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0209BB5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BB5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209BB5C */ if (_t2) goto L_0209BB60; else goto L_0209BB74;
|
|
L_0209BB60: ; // 0x209bb60
|
|
/* 0209BB60 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209BB64 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209BB68 */ cpu->r[7] = cpu->r[7] + 0x00000CB8u;
|
|
/* 0209BB6C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0209BB6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BB70 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209BB70 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0209BB74: ; // 0x209bb74
|
|
/* 0209BB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209BB78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BB78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BB78 */ if (_t6) goto L_0209BB7C; else goto L_0209BB84;
|
|
L_0209BB7C: ; // 0x209bb7c
|
|
/* 0209BB7C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209BB80 */ return;
|
|
L_0209BB84: ; // 0x209bb84
|
|
/* 0209BB84 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209BB88 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0209BB88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BB88 */ cpu->r[7] = _t7;
|
|
/* 0209BB8C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209BB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209BB94 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209BB98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BB98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209BB98 */ if (_t9) goto L_0209BB9C; else goto L_0209BBB0;
|
|
L_0209BB9C: ; // 0x209bb9c
|
|
/* 0209BB9C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BBA0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209BBA4 */ cpu->r[0] = cpu->r[0] + 0x00000C90u;
|
|
/* 0209BBA8 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0209BBA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209BBAC */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0209BBAC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209BBB0: ; // 0x209bbb0
|
|
/* 0209BBB0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209BBB4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0209BBB8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0209BBBC */ return;
|
|
}
|
|
|
|
// fn_0209BBC0 @ 0x209bbc0
|
|
void Gambit_fn_0209BBC0(CPUState* cpu) {
|
|
L_0209BBC0: ; // 0x209bbc0
|
|
/* 0209BBC0 */ return;
|
|
}
|
|
|
|
// fn_0209BBC4 @ 0x209bbc4
|
|
void Gambit_fn_0209BBC4(CPUState* cpu) {
|
|
L_0209BBC4: ; // 0x209bbc4
|
|
/* 0209BBC4 */ return;
|
|
}
|
|
|
|
// fn_0209BBC8 @ 0x209bbc8
|
|
void Gambit_fn_0209BBC8(CPUState* cpu) {
|
|
L_0209BBC8: ; // 0x209bbc8
|
|
/* 0209BBC8 */ return;
|
|
}
|
|
|
|
// fn_0209BBCC @ 0x209bbcc
|
|
void Gambit_fn_0209BBCC(CPUState* cpu) {
|
|
L_0209BBCC: ; // 0x209bbcc
|
|
/* 0209BBCC */ cpu->r[3] = 0x00000000u;
|
|
/* 0209BBD0 */ return;
|
|
}
|
|
|
|
// fn_0209BBD4 @ 0x209bbd4
|
|
void Gambit_fn_0209BBD4(CPUState* cpu) {
|
|
L_0209BBD4: ; // 0x209bbd4
|
|
/* 0209BBD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209BBD8 */ return;
|
|
}
|
|
|
|
// fn_0209BBDC @ 0x209bbdc
|
|
void Gambit_fn_0209BBDC(CPUState* cpu) {
|
|
L_0209BBDC: ; // 0x209bbdc
|
|
/* 0209BBDC */ return;
|
|
}
|
|
|
|
// fn_0209BBE0 @ 0x209bbe0
|
|
void Gambit_fn_0209BBE0(CPUState* cpu) {
|
|
L_0209BBE0: ; // 0x209bbe0
|
|
/* 0209BBE0 */ return;
|
|
}
|
|
|
|
// fn_0209BBE4 @ 0x209bbe4
|
|
void Gambit_fn_0209BBE4(CPUState* cpu) {
|
|
L_0209BBE4: ; // 0x209bbe4
|
|
/* 0209BBE4 */ return;
|
|
}
|
|
|
|
// fn_0209BBE8 @ 0x209bbe8
|
|
void Gambit_fn_0209BBE8(CPUState* cpu) {
|
|
L_0209BBE8: ; // 0x209bbe8
|
|
/* 0209BBE8 */ return;
|
|
}
|
|
|
|
// fn_0209BBEC @ 0x209bbec
|
|
void Gambit_fn_0209BBEC(CPUState* cpu) {
|
|
L_0209BBEC: ; // 0x209bbec
|
|
/* 0209BBEC */ return;
|
|
}
|
|
|
|
// fn_0209BBF0 @ 0x209bbf0
|
|
void Gambit_fn_0209BBF0(CPUState* cpu) {
|
|
L_0209BBF0: ; // 0x209bbf0
|
|
/* 0209BBF0 */ return;
|
|
}
|
|
|
|
// fn_0209BBF4 @ 0x209bbf4
|
|
void Gambit_fn_0209BBF4(CPUState* cpu) {
|
|
L_0209BBF4: ; // 0x209bbf4
|
|
/* 0209BBF4 */ return;
|
|
}
|
|
|
|
// fn_0209BBF8 @ 0x209bbf8
|
|
void Gambit_fn_0209BBF8(CPUState* cpu) {
|
|
L_0209BBF8: ; // 0x209bbf8
|
|
/* 0209BBF8 */ return;
|
|
}
|
|
|
|
// fn_0209BBFC @ 0x209bbfc
|
|
void Gambit_fn_0209BBFC(CPUState* cpu) {
|
|
L_0209BBFC: ; // 0x209bbfc
|
|
/* 0209BBFC */ return;
|
|
}
|
|
|
|
// fn_0209BC00 @ 0x209bc00
|
|
void Gambit_fn_0209BC00(CPUState* cpu) {
|
|
L_0209BC00: ; // 0x209bc00
|
|
/* 0209BC00 */ return;
|
|
}
|
|
|
|
// fn_0209BC04 @ 0x209bc04
|
|
void Gambit_fn_0209BC04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0209BC04: ; // 0x209bc04
|
|
/* 0209BC04 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209BC08 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0209BC0C @ 0x209bc0c
|
|
void Gambit_fn_0209BC0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209BC0C: ; // 0x209bc0c
|
|
/* 0209BC0C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209BC10 */ goto L_0209BF80;
|
|
L_0209BF80: ; // 0x209bf80
|
|
/* 0209BF80 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BF84 */ cpu->r[1] = _t0;
|
|
/* 0209BF88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BF8C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BF94 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BF98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BF98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BF9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BF9C */ if (_t5) goto L_0209C00C; else goto L_0209BFA0;
|
|
L_0209BFA0: ; // 0x209bfa0
|
|
/* 0209BFA0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFA4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BFA8 */ cpu->r[0] = cpu->r[0] + 0x000011A8u;
|
|
/* 0209BFAC */ cpu->r[12] = cpu->r[12] + 0x000011C8u;
|
|
/* 0209BFB0 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BFB4 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BFB8 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BFBC */ cpu->r[11] = cpu->r[11] + 0x000011B8u;
|
|
/* 0209BFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BFC4 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BFC8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BFC8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BFC8 */ if (_t10) goto L_0209BFFC; else goto L_0209BFCC;
|
|
L_0209BFCC: ; // 0x209bfcc
|
|
/* 0209BFCC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BFD0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFD4 */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 0209BFD8 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 0209BFDC */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BFE0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BFE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFE8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BFEC */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 0209BFF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BFF4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BFF8 */ Gambit_fn_02068798(cpu);
|
|
L_0209BFFC: ; // 0x209bffc
|
|
/* 0209BFFC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209C000 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C000 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209C000 */ if (_t15) goto L_0209C00C; else goto L_0209C004;
|
|
L_0209C004: ; // 0x209c004
|
|
/* 0209C004 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209C008 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209C00C: ; // 0x209c00c
|
|
/* 0209C00C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C010 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209C014 */ cpu->lr = cpu->r[0];
|
|
/* 0209C018 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209C01C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C020 */ return;
|
|
}
|
|
|
|
// fn_0209BC14 @ 0x209bc14
|
|
void Gambit_fn_0209BC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0209BC14: ; // 0x209bc14
|
|
/* 0209BC14 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209BC18 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209BC1C @ 0x209bc1c
|
|
void Gambit_fn_0209BC1C(CPUState* cpu) {
|
|
L_0209BC1C: ; // 0x209bc1c
|
|
/* 0209BC1C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209BC20 */ goto L_0209C024;
|
|
L_0209C024: ; // 0x209c024
|
|
/* 0209C024 */ return;
|
|
}
|
|
|
|
// fn_0209BC24 @ 0x209bc24
|
|
void Gambit_fn_0209BC24(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209BC24: ; // 0x209bc24
|
|
/* 0209BC24 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209BC28 */ goto L_0209C028;
|
|
L_0209C028: ; // 0x209c028
|
|
/* 0209C028 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209C028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C02C */ return;
|
|
}
|
|
|
|
// fn_0209BC2C @ 0x209bc2c
|
|
void Gambit_fn_0209BC2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209BC2C: ; // 0x209bc2c
|
|
/* 0209BC2C */ cpu->r[0] = cpu->lr;
|
|
/* 0209BC30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BC30 */ cpu->r[1] = _t0;
|
|
/* 0209BC34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BC34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BC38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BC40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BC40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209BC40 */ if (_t4) goto L_0209BC44; else goto L_0209BC54;
|
|
L_0209BC44: ; // 0x209bc44
|
|
/* 0209BC44 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209BC48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209BC4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BC50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BC50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BC50 */ if (_t6) goto L_0209BCB4; else goto L_0209BC54;
|
|
L_0209BC54: ; // 0x209bc54
|
|
/* 0209BC54 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209BC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BC5C */ cpu->r[5] = 0x00000000u;
|
|
/* 0209BC60 */ cpu->r[4] = cpu->r[4] + 0x00001020u;
|
|
/* 0209BC64 */ Gambit_fn_020B82F0(cpu);
|
|
/* 0209BC68 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BC6C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BC70 */ cpu->r[12] = cpu->r[12] + 0x00001040u;
|
|
/* 0209BC74 */ cpu->r[11] = cpu->r[11] + 0x000011B8u;
|
|
/* 0209BC78 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BC7C */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BC7C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BC80 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BC84 */ cpu->r[0] = cpu->r[0] + 0x000011A8u;
|
|
/* 0209BC88 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209BC88 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BC8C */ cpu->r[12] = cpu->r[12] + 0x000011C8u;
|
|
/* 0209BC90 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209BC90 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0209BC94 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BC98 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209BC98 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209BC9C */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BCA0 */ _t11 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BCA0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0209BCA4 */ _t12 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BCA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209BCA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BCAC */ _t13 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BCAC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0209BCB0 */ Gambit_fn_02068B6C(cpu);
|
|
L_0209BCB4: ; // 0x209bcb4
|
|
/* 0209BCB4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209BCB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BCBC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209BCC0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BCC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BCC8 */ return;
|
|
}
|
|
|
|
// fn_0209BC30 @ 0x209bc30
|
|
void Gambit_fn_0209BC30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0209BC30: ; // 0x209bc30
|
|
/* 0209BC30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BC30 */ cpu->r[1] = _t0;
|
|
/* 0209BC34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BC34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BC38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BC40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BC40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209BC40 */ if (_t4) goto L_0209BC44; else goto L_0209BC54;
|
|
L_0209BC44: ; // 0x209bc44
|
|
/* 0209BC44 */ cpu->r[3] = 0x0000022Cu;
|
|
/* 0209BC48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209BC4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BC50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BC50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BC50 */ if (_t6) goto L_0209BCB4; else goto L_0209BC54;
|
|
L_0209BC54: ; // 0x209bc54
|
|
/* 0209BC54 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209BC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BC5C */ cpu->r[5] = 0x00000000u;
|
|
/* 0209BC60 */ cpu->r[4] = cpu->r[4] + 0x00001020u;
|
|
/* 0209BC64 */ Gambit_fn_020B82F0(cpu);
|
|
/* 0209BC68 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BC6C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BC70 */ cpu->r[12] = cpu->r[12] + 0x00001040u;
|
|
/* 0209BC74 */ cpu->r[11] = cpu->r[11] + 0x000011B8u;
|
|
/* 0209BC78 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BC7C */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BC7C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BC80 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BC84 */ cpu->r[0] = cpu->r[0] + 0x000011A8u;
|
|
/* 0209BC88 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209BC88 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BC8C */ cpu->r[12] = cpu->r[12] + 0x000011C8u;
|
|
/* 0209BC90 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209BC90 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0209BC94 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BC98 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209BC98 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209BC9C */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BCA0 */ _t11 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BCA0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0209BCA4 */ _t12 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BCA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209BCA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BCAC */ _t13 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BCAC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0209BCB0 */ Gambit_fn_02068B6C(cpu);
|
|
L_0209BCB4: ; // 0x209bcb4
|
|
/* 0209BCB4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209BCB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BCBC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209BCC0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BCC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BCC8 */ return;
|
|
}
|
|
|
|
// fn_0209BCCC @ 0x209bccc
|
|
void Gambit_fn_0209BCCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209BCCC: ; // 0x209bccc
|
|
/* 0209BCCC */ cpu->r[0] = cpu->lr;
|
|
/* 0209BCD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BCD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BCD0 */ cpu->r[1] = _t0;
|
|
/* 0209BCD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BCD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BCD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BCD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BCDC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BCDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BCE0 */ _t4 = cpu->r[11] + 0x0000011Cu;
|
|
/* 0209BCE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BCE4 */ cpu->ctr = cpu->r[12];
|
|
/* 0209BCE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BCEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BCF0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209BCF4 */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BCF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BCF8 */ Gambit_fn_020C3948(cpu);
|
|
/* 0209BCFC */ cpu->r[0] = 0x00000001u;
|
|
/* 0209BD00 */ _t6 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BD00 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BD04 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BD08 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BD0C */ cpu->lr = cpu->r[0];
|
|
/* 0209BD10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BD14 */ return;
|
|
}
|
|
|
|
// fn_0209BCD0 @ 0x209bcd0
|
|
void Gambit_fn_0209BCD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209BCD0: ; // 0x209bcd0
|
|
/* 0209BCD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BCD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BCD0 */ cpu->r[1] = _t0;
|
|
/* 0209BCD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BCD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BCD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BCD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BCDC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BCDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BCE0 */ _t4 = cpu->r[11] + 0x0000011Cu;
|
|
/* 0209BCE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BCE4 */ cpu->ctr = cpu->r[12];
|
|
/* 0209BCE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BCEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BCF0 */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209BCF4 */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BCF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BCF8 */ Gambit_fn_020C3948(cpu);
|
|
/* 0209BCFC */ cpu->r[0] = 0x00000001u;
|
|
/* 0209BD00 */ _t6 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BD00 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BD04 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BD08 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BD0C */ cpu->lr = cpu->r[0];
|
|
/* 0209BD10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BD14 */ return;
|
|
}
|
|
|
|
// fn_0209BD18 @ 0x209bd18
|
|
void Gambit_fn_0209BD18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209BD18: ; // 0x209bd18
|
|
/* 0209BD18 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BD1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BD1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BD1C */ cpu->r[1] = _t0;
|
|
/* 0209BD20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BD24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BD28 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BD2C */ _t4 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209BD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BD30 */ cpu->ctr = cpu->r[0];
|
|
/* 0209BD34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BD38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BD3C */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209BD40 */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BD40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BD44 */ Gambit_fn_020C3988(cpu);
|
|
/* 0209BD48 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BD4C */ _t6 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BD4C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BD50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BD54 */ _t7 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BD54 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0209BD58 */ Gambit_fn_020B86A0(cpu);
|
|
/* 0209BD5C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BD60 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BD64 */ cpu->lr = cpu->r[0];
|
|
/* 0209BD68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BD6C */ return;
|
|
}
|
|
|
|
// fn_0209BD1C @ 0x209bd1c
|
|
void Gambit_fn_0209BD1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209BD1C: ; // 0x209bd1c
|
|
/* 0209BD1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BD1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BD1C */ cpu->r[1] = _t0;
|
|
/* 0209BD20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BD24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BD28 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BD2C */ _t4 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209BD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BD30 */ cpu->ctr = cpu->r[0];
|
|
/* 0209BD34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BD38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BD3C */ Gambit_fn_020DACF0(cpu);
|
|
/* 0209BD40 */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BD40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BD44 */ Gambit_fn_020C3988(cpu);
|
|
/* 0209BD48 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BD4C */ _t6 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BD4C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BD50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BD54 */ _t7 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BD54 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0209BD58 */ Gambit_fn_020B86A0(cpu);
|
|
/* 0209BD5C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BD60 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BD64 */ cpu->lr = cpu->r[0];
|
|
/* 0209BD68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BD6C */ return;
|
|
}
|
|
|
|
// fn_0209BD74 @ 0x209bd74
|
|
void Gambit_fn_0209BD74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209BD74: ; // 0x209bd74
|
|
/* 0209BD74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BD74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BD74 */ cpu->r[1] = _t0;
|
|
/* 0209BD78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BD78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BD7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BD7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BD80 */ _t3 = cpu->r[3] + 0x00000228u;
|
|
/* 0209BD80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209BD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BD88 */ cpu->r[31] = 0x00000000u;
|
|
/* 0209BD8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BD8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BD8C */ if (_t5) goto L_0209BD90; else goto L_0209BDA4;
|
|
L_0209BD90: ; // 0x209bd90
|
|
/* 0209BD90 */ _t6 = cpu->r[3] + 0x00000224u;
|
|
/* 0209BD90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209BD94 */ Gambit_fn_020C3920(cpu);
|
|
/* 0209BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BD9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BD9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209BD9C */ if (_t8) goto L_0209BDA4; else goto L_0209BDA0;
|
|
L_0209BDA0: ; // 0x209bda0
|
|
/* 0209BDA0 */ cpu->r[31] = 0x00000001u;
|
|
L_0209BDA4: ; // 0x209bda4
|
|
/* 0209BDA4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BDA8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209BDAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BDAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209BDB0 */ cpu->lr = cpu->r[0];
|
|
/* 0209BDB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BDB8 */ return;
|
|
}
|
|
|
|
// fn_0209BDC4 @ 0x209bdc4
|
|
void Gambit_fn_0209BDC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209BDC4: ; // 0x209bdc4
|
|
/* 0209BDC4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BDC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BDC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BDC8 */ cpu->r[1] = _t0;
|
|
/* 0209BDCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BDCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BDD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BDD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BDD4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BDD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BDD8 */ _t4 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209BDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BDDC */ cpu->ctr = cpu->r[0];
|
|
/* 0209BDE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BDE8 */ Gambit_fn_020DACA4(cpu);
|
|
/* 0209BDEC */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BDEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BDF0 */ Gambit_fn_020C38E0(cpu);
|
|
/* 0209BDF4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BDF8 */ _t6 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BDF8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BDFC */ _t7 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BDFC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0209BE00 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BE04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BE08 */ cpu->lr = cpu->r[0];
|
|
/* 0209BE0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BE10 */ return;
|
|
}
|
|
|
|
// fn_0209BDC8 @ 0x209bdc8
|
|
void Gambit_fn_0209BDC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209BDC8: ; // 0x209bdc8
|
|
/* 0209BDC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BDC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BDC8 */ cpu->r[1] = _t0;
|
|
/* 0209BDCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BDCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BDD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BDD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BDD4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BDD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209BDD8 */ _t4 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0209BDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209BDDC */ cpu->ctr = cpu->r[0];
|
|
/* 0209BDE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BDE8 */ Gambit_fn_020DACA4(cpu);
|
|
/* 0209BDEC */ _t5 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BDEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209BDF0 */ Gambit_fn_020C38E0(cpu);
|
|
/* 0209BDF4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BDF8 */ _t6 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BDF8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0209BDFC */ _t7 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BDFC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0209BE00 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BE04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BE08 */ cpu->lr = cpu->r[0];
|
|
/* 0209BE0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BE10 */ return;
|
|
}
|
|
|
|
// fn_0209BE14 @ 0x209be14
|
|
void Gambit_fn_0209BE14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209BE14: ; // 0x209be14
|
|
/* 0209BE14 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BE18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209BE18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BE18 */ cpu->r[1] = _t0;
|
|
/* 0209BE1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209BE1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209BE20 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BE24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BE24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209BE28 */ cpu->r[12] = cpu->r[12] + 0x00001030u;
|
|
/* 0209BE2C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BE30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209BE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BE34 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BE38 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209BE3C */ cpu->r[0] = cpu->r[0] + 0x00000FD8u;
|
|
/* 0209BE40 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209BE44 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BE44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209BE48 */ Gambit_fn_026D86C0(cpu);
|
|
/* 0209BE4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209BE50 */ _t6 = cpu->r[12] + 0xFFFFDBBCu;
|
|
/* 0209BE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209BE50 */ cpu->r[12] = _t6;
|
|
/* 0209BE54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BE58 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0209BE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BE60 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE1Cu;
|
|
/* 0209BE64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209BE64 */ if (_t8) goto L_0209BE68; else goto L_0209BE7C;
|
|
L_0209BE68: ; // 0x209be68
|
|
/* 0209BE68 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209BE6C */ cpu->r[8] = 0x00000001u;
|
|
/* 0209BE70 */ cpu->r[9] = cpu->r[9] + 0x00001000u;
|
|
/* 0209BE74 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0209BE74 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0209BE78 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 0209BE78 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
L_0209BE7C: ; // 0x209be7c
|
|
/* 0209BE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209BE80 */ if (_t12) goto L_0209BEB4; else goto L_0209BE84;
|
|
L_0209BE84: ; // 0x209be84
|
|
/* 0209BE84 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BE84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209BE88 */ _t14 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0209BE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209BE8C */ cpu->ctr = cpu->r[0];
|
|
/* 0209BE90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BE94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BE9C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE9C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209BE9C */ if (_t16) goto L_0209BEB4; else goto L_0209BEA0;
|
|
L_0209BEA0: ; // 0x209bea0
|
|
/* 0209BEA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BEA4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BEA8 */ _t17 = cpu->r[30] + 0x00000224u;
|
|
/* 0209BEA8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0209BEAC */ Gambit_fn_020DB1C8(cpu);
|
|
/* 0209BEB0 */ goto L_0209BEC4;
|
|
L_0209BEB4: ; // 0x209beb4
|
|
/* 0209BEB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209BEB8 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BEBC */ _t18 = cpu->r[30] + 0x00000224u;
|
|
/* 0209BEBC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 0209BEC0 */ Gambit_fn_020DB1C8(cpu);
|
|
L_0209BEC4: ; // 0x209bec4
|
|
/* 0209BEC4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209BEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209BEC8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0209BEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209BECC */ cpu->lr = cpu->r[0];
|
|
/* 0209BED0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209BED4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209BED8 */ return;
|
|
}
|
|
|
|
// fn_0209BE18 @ 0x209be18
|
|
void Gambit_fn_0209BE18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209BE18: ; // 0x209be18
|
|
/* 0209BE18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209BE18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BE18 */ cpu->r[1] = _t0;
|
|
/* 0209BE1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209BE1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209BE20 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BE24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BE24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209BE28 */ cpu->r[12] = cpu->r[12] + 0x00001030u;
|
|
/* 0209BE2C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BE30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209BE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BE34 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BE38 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209BE3C */ cpu->r[0] = cpu->r[0] + 0x00000FD8u;
|
|
/* 0209BE40 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209BE44 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BE44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209BE48 */ Gambit_fn_026D86C0(cpu);
|
|
/* 0209BE4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209BE50 */ _t6 = cpu->r[12] + 0xFFFFDBBCu;
|
|
/* 0209BE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209BE50 */ cpu->r[12] = _t6;
|
|
/* 0209BE54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BE58 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0209BE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BE60 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE1Cu;
|
|
/* 0209BE64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209BE64 */ if (_t8) goto L_0209BE68; else goto L_0209BE7C;
|
|
L_0209BE68: ; // 0x209be68
|
|
/* 0209BE68 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209BE6C */ cpu->r[8] = 0x00000001u;
|
|
/* 0209BE70 */ cpu->r[9] = cpu->r[9] + 0x00001000u;
|
|
/* 0209BE74 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0209BE74 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0209BE78 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 0209BE78 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
L_0209BE7C: ; // 0x209be7c
|
|
/* 0209BE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209BE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209BE80 */ if (_t12) goto L_0209BEB4; else goto L_0209BE84;
|
|
L_0209BE84: ; // 0x209be84
|
|
/* 0209BE84 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BE84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209BE88 */ _t14 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0209BE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209BE8C */ cpu->ctr = cpu->r[0];
|
|
/* 0209BE90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BE94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BE9C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BE9C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209BE9C */ if (_t16) goto L_0209BEB4; else goto L_0209BEA0;
|
|
L_0209BEA0: ; // 0x209bea0
|
|
/* 0209BEA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BEA4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BEA8 */ _t17 = cpu->r[30] + 0x00000224u;
|
|
/* 0209BEA8 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0209BEAC */ Gambit_fn_020DB1C8(cpu);
|
|
/* 0209BEB0 */ goto L_0209BEC4;
|
|
L_0209BEB4: ; // 0x209beb4
|
|
/* 0209BEB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209BEB8 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209BEBC */ _t18 = cpu->r[30] + 0x00000224u;
|
|
/* 0209BEBC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 0209BEC0 */ Gambit_fn_020DB1C8(cpu);
|
|
L_0209BEC4: ; // 0x209bec4
|
|
/* 0209BEC4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209BEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209BEC8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0209BEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209BECC */ cpu->lr = cpu->r[0];
|
|
/* 0209BED0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209BED4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209BED8 */ return;
|
|
}
|
|
|
|
// fn_0209BEDC @ 0x209bedc
|
|
void Gambit_fn_0209BEDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_0209BEDC: ; // 0x209bedc
|
|
/* 0209BEDC */ cpu->r[0] = cpu->lr;
|
|
/* 0209BEE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BEE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BEE0 */ cpu->r[1] = _t0;
|
|
/* 0209BEE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BEE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BEE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BEEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BEEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BEF0 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BEF0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209BEF4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209BEFC */ _t4 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BEFC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 0209BF00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BF00 */ if (_t6) goto L_0209BF04; else goto L_0209BF34;
|
|
L_0209BF04: ; // 0x209bf04
|
|
/* 0209BF04 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BF08 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BF0C */ _t9 = cpu->r[11] + 0x000000DCu;
|
|
/* 0209BF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0209BF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BF1C */ _t10 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BF1C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0209BF20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209BF20 */ if (_t12) goto L_0209BF2C; else goto L_0209BF24;
|
|
L_0209BF24: ; // 0x209bf24
|
|
/* 0209BF24 */ cpu->r[12] = 0x00000001u;
|
|
/* 0209BF28 */ _t13 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BF28 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
L_0209BF2C: ; // 0x209bf2c
|
|
/* 0209BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209BF30 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF30 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209BF30 */ if (_t15) goto L_0209BF58; else goto L_0209BF34;
|
|
L_0209BF34: ; // 0x209bf34
|
|
/* 0209BF34 */ _t16 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209BF38 */ Gambit_fn_020C38CC(cpu);
|
|
/* 0209BF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BF40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209BF40 */ if (_t18) goto L_0209BF58; else goto L_0209BF44;
|
|
L_0209BF44: ; // 0x209bf44
|
|
/* 0209BF44 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BF44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209BF48 */ _t20 = cpu->r[11] + 0x00000094u;
|
|
/* 0209BF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209BF4C */ cpu->ctr = cpu->r[0];
|
|
/* 0209BF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209BF58: ; // 0x209bf58
|
|
/* 0209BF58 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209BF5C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209BF60 */ cpu->lr = cpu->r[0];
|
|
/* 0209BF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BF68 */ return;
|
|
}
|
|
|
|
// fn_0209BEE0 @ 0x209bee0
|
|
void Gambit_fn_0209BEE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_0209BEE0: ; // 0x209bee0
|
|
/* 0209BEE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BEE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BEE0 */ cpu->r[1] = _t0;
|
|
/* 0209BEE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BEE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BEE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209BEEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BEEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209BEF0 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BEF0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209BEF4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209BEFC */ _t4 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BEFC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 0209BF00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209BF00 */ if (_t6) goto L_0209BF04; else goto L_0209BF34;
|
|
L_0209BF04: ; // 0x209bf04
|
|
/* 0209BF04 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209BF08 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209BF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209BF0C */ _t9 = cpu->r[11] + 0x000000DCu;
|
|
/* 0209BF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209BF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0209BF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209BF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BF1C */ _t10 = cpu->r[31] + 0x00000228u;
|
|
/* 0209BF1C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0209BF20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209BF20 */ if (_t12) goto L_0209BF2C; else goto L_0209BF24;
|
|
L_0209BF24: ; // 0x209bf24
|
|
/* 0209BF24 */ cpu->r[12] = 0x00000001u;
|
|
/* 0209BF28 */ _t13 = cpu->r[31] + 0x00000229u;
|
|
/* 0209BF28 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
L_0209BF2C: ; // 0x209bf2c
|
|
/* 0209BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209BF30 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF30 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209BF30 */ if (_t15) goto L_0209BF58; else goto L_0209BF34;
|
|
L_0209BF34: ; // 0x209bf34
|
|
/* 0209BF34 */ _t16 = cpu->r[31] + 0x00000224u;
|
|
/* 0209BF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209BF38 */ Gambit_fn_020C38CC(cpu);
|
|
/* 0209BF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BF40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209BF40 */ if (_t18) goto L_0209BF58; else goto L_0209BF44;
|
|
L_0209BF44: ; // 0x209bf44
|
|
/* 0209BF44 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 0209BF44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209BF48 */ _t20 = cpu->r[11] + 0x00000094u;
|
|
/* 0209BF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209BF4C */ cpu->ctr = cpu->r[0];
|
|
/* 0209BF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209BF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209BF58: ; // 0x209bf58
|
|
/* 0209BF58 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209BF5C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209BF60 */ cpu->lr = cpu->r[0];
|
|
/* 0209BF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209BF68 */ return;
|
|
}
|
|
|
|
// fn_0209BF6C @ 0x209bf6c
|
|
void Gambit_fn_0209BF6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209BF6C: ; // 0x209bf6c
|
|
/* 0209BF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209BF70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209BF70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209BF70 */ goto L_0209BF74;
|
|
L_0209BF74: ; // 0x209bf74
|
|
/* 0209BF74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209BF78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209BF78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209BF78 */ goto L_0209BF7C;
|
|
L_0209BF7C: ; // 0x209bf7c
|
|
/* 0209BF7C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209BF80 @ 0x209bf80
|
|
void Gambit_fn_0209BF80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209BF80: ; // 0x209bf80
|
|
/* 0209BF80 */ cpu->r[0] = cpu->lr;
|
|
/* 0209BF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BF84 */ cpu->r[1] = _t0;
|
|
/* 0209BF88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BF8C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BF94 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BF98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BF98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BF9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BF9C */ if (_t5) goto L_0209C00C; else goto L_0209BFA0;
|
|
L_0209BFA0: ; // 0x209bfa0
|
|
/* 0209BFA0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFA4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BFA8 */ cpu->r[0] = cpu->r[0] + 0x000011A8u;
|
|
/* 0209BFAC */ cpu->r[12] = cpu->r[12] + 0x000011C8u;
|
|
/* 0209BFB0 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BFB4 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BFB8 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BFBC */ cpu->r[11] = cpu->r[11] + 0x000011B8u;
|
|
/* 0209BFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BFC4 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BFC8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BFC8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BFC8 */ if (_t10) goto L_0209BFFC; else goto L_0209BFCC;
|
|
L_0209BFCC: ; // 0x209bfcc
|
|
/* 0209BFCC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BFD0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFD4 */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 0209BFD8 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 0209BFDC */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BFE0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BFE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFE8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BFEC */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 0209BFF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BFF4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BFF8 */ Gambit_fn_02068798(cpu);
|
|
L_0209BFFC: ; // 0x209bffc
|
|
/* 0209BFFC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209C000 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C000 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209C000 */ if (_t15) goto L_0209C00C; else goto L_0209C004;
|
|
L_0209C004: ; // 0x209c004
|
|
/* 0209C004 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209C008 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209C00C: ; // 0x209c00c
|
|
/* 0209C00C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C010 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209C014 */ cpu->lr = cpu->r[0];
|
|
/* 0209C018 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209C01C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C020 */ return;
|
|
}
|
|
|
|
// fn_0209BF84 @ 0x209bf84
|
|
void Gambit_fn_0209BF84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209BF84: ; // 0x209bf84
|
|
/* 0209BF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209BF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209BF84 */ cpu->r[1] = _t0;
|
|
/* 0209BF88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209BF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209BF8C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209BF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209BF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BF94 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209BF98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209BF98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209BF9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BF9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209BF9C */ if (_t5) goto L_0209C00C; else goto L_0209BFA0;
|
|
L_0209BFA0: ; // 0x209bfa0
|
|
/* 0209BFA0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFA4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209BFA8 */ cpu->r[0] = cpu->r[0] + 0x000011A8u;
|
|
/* 0209BFAC */ cpu->r[12] = cpu->r[12] + 0x000011C8u;
|
|
/* 0209BFB0 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209BFB4 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209BFB8 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209BFBC */ cpu->r[11] = cpu->r[11] + 0x000011B8u;
|
|
/* 0209BFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209BFC4 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209BFC8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209BFC8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209BFC8 */ if (_t10) goto L_0209BFFC; else goto L_0209BFCC;
|
|
L_0209BFCC: ; // 0x209bfcc
|
|
/* 0209BFCC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209BFD0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFD4 */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 0209BFD8 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 0209BFDC */ cpu->r[3] = cpu->r[30];
|
|
/* 0209BFE0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209BFE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209BFE4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209BFE8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209BFE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209BFEC */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 0209BFF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209BFF4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209BFF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209BFF8 */ Gambit_fn_02068798(cpu);
|
|
L_0209BFFC: ; // 0x209bffc
|
|
/* 0209BFFC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209BFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209C000 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C000 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209C000 */ if (_t15) goto L_0209C00C; else goto L_0209C004;
|
|
L_0209C004: ; // 0x209c004
|
|
/* 0209C004 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209C008 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209C00C: ; // 0x209c00c
|
|
/* 0209C00C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C010 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209C014 */ cpu->lr = cpu->r[0];
|
|
/* 0209C018 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209C01C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C020 */ return;
|
|
}
|
|
|
|
// fn_0209C024 @ 0x209c024
|
|
void Gambit_fn_0209C024(CPUState* cpu) {
|
|
L_0209C024: ; // 0x209c024
|
|
/* 0209C024 */ return;
|
|
}
|
|
|
|
// fn_0209C028 @ 0x209c028
|
|
void Gambit_fn_0209C028(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C028: ; // 0x209c028
|
|
/* 0209C028 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209C028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C02C */ return;
|
|
}
|
|
|
|
// fn_0209C030 @ 0x209c030
|
|
void Gambit_fn_0209C030(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C030: ; // 0x209c030
|
|
/* 0209C030 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209C030 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C034 */ return;
|
|
}
|
|
|
|
// fn_0209C038 @ 0x209c038
|
|
void Gambit_fn_0209C038(CPUState* cpu) {
|
|
L_0209C038: ; // 0x209c038
|
|
/* 0209C038 */ return;
|
|
}
|
|
|
|
// fn_0209C03C @ 0x209c03c
|
|
void Gambit_fn_0209C03C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C03C: ; // 0x209c03c
|
|
/* 0209C03C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209C03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C040 */ return;
|
|
}
|
|
|
|
// fn_0209C044 @ 0x209c044
|
|
void Gambit_fn_0209C044(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209C044: ; // 0x209c044
|
|
/* 0209C044 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C044 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C048 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209C048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209C04C */ cpu->ctr = cpu->r[0];
|
|
/* 0209C050 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209C054 @ 0x209c054
|
|
void Gambit_fn_0209C054(CPUState* cpu) {
|
|
L_0209C054: ; // 0x209c054
|
|
/* 0209C054 */ return;
|
|
}
|
|
|
|
// fn_0209C058 @ 0x209c058
|
|
void Gambit_fn_0209C058(CPUState* cpu) {
|
|
L_0209C058: ; // 0x209c058
|
|
/* 0209C058 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209C05C */ return;
|
|
}
|
|
|
|
// fn_0209C060 @ 0x209c060
|
|
void Gambit_fn_0209C060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209C060: ; // 0x209c060
|
|
/* 0209C060 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209C064 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0209C064 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C064 */ cpu->r[9] = _t0;
|
|
/* 0209C068 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209C06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209C070 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0209C074 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C074 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209C074 */ if (_t2) goto L_0209C078; else goto L_0209C08C;
|
|
L_0209C078: ; // 0x209c078
|
|
/* 0209C078 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209C07C */ cpu->r[0] = 0x00000001u;
|
|
/* 0209C080 */ cpu->r[7] = cpu->r[7] + 0x00001010u;
|
|
/* 0209C084 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0209C084 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209C088 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C088 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0209C08C: ; // 0x209c08c
|
|
/* 0209C08C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209C090 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C090 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C090 */ if (_t6) goto L_0209C094; else goto L_0209C09C;
|
|
L_0209C094: ; // 0x209c094
|
|
/* 0209C094 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209C098 */ return;
|
|
L_0209C09C: ; // 0x209c09c
|
|
/* 0209C09C */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209C0A0 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0209C0A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209C0A0 */ cpu->r[7] = _t7;
|
|
/* 0209C0A4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209C0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209C0AC */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209C0B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C0B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209C0B0 */ if (_t9) goto L_0209C0B4; else goto L_0209C0C8;
|
|
L_0209C0B4: ; // 0x209c0b4
|
|
/* 0209C0B4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209C0B8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209C0BC */ cpu->r[0] = cpu->r[0] + 0x00000FC8u;
|
|
/* 0209C0C0 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0209C0C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209C0C4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0209C0C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209C0C8: ; // 0x209c0c8
|
|
/* 0209C0C8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209C0CC */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0209C0D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0209C0D4 */ return;
|
|
}
|
|
|
|
// fn_0209C0D8 @ 0x209c0d8
|
|
void Gambit_fn_0209C0D8(CPUState* cpu) {
|
|
L_0209C0D8: ; // 0x209c0d8
|
|
/* 0209C0D8 */ return;
|
|
}
|
|
|
|
// fn_0209C0DC @ 0x209c0dc
|
|
void Gambit_fn_0209C0DC(CPUState* cpu) {
|
|
L_0209C0DC: ; // 0x209c0dc
|
|
/* 0209C0DC */ return;
|
|
}
|
|
|
|
// fn_0209C0E0 @ 0x209c0e0
|
|
void Gambit_fn_0209C0E0(CPUState* cpu) {
|
|
L_0209C0E0: ; // 0x209c0e0
|
|
/* 0209C0E0 */ return;
|
|
}
|
|
|
|
// fn_0209C0E4 @ 0x209c0e4
|
|
void Gambit_fn_0209C0E4(CPUState* cpu) {
|
|
L_0209C0E4: ; // 0x209c0e4
|
|
/* 0209C0E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209C0E8 */ return;
|
|
}
|
|
|
|
// fn_0209C0EC @ 0x209c0ec
|
|
void Gambit_fn_0209C0EC(CPUState* cpu) {
|
|
L_0209C0EC: ; // 0x209c0ec
|
|
/* 0209C0EC */ cpu->r[3] = 0x00000000u;
|
|
/* 0209C0F0 */ return;
|
|
}
|
|
|
|
// fn_0209C0F4 @ 0x209c0f4
|
|
void Gambit_fn_0209C0F4(CPUState* cpu) {
|
|
L_0209C0F4: ; // 0x209c0f4
|
|
/* 0209C0F4 */ return;
|
|
}
|
|
|
|
// fn_0209C0F8 @ 0x209c0f8
|
|
void Gambit_fn_0209C0F8(CPUState* cpu) {
|
|
L_0209C0F8: ; // 0x209c0f8
|
|
/* 0209C0F8 */ return;
|
|
}
|
|
|
|
// fn_0209C0FC @ 0x209c0fc
|
|
void Gambit_fn_0209C0FC(CPUState* cpu) {
|
|
L_0209C0FC: ; // 0x209c0fc
|
|
/* 0209C0FC */ return;
|
|
}
|
|
|
|
// fn_0209C100 @ 0x209c100
|
|
void Gambit_fn_0209C100(CPUState* cpu) {
|
|
L_0209C100: ; // 0x209c100
|
|
/* 0209C100 */ return;
|
|
}
|
|
|
|
// fn_0209C104 @ 0x209c104
|
|
void Gambit_fn_0209C104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0206C894: ; // 0x206c894
|
|
/* 0206C894 */ cpu->r[0] = cpu->lr;
|
|
/* 0206C898 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0206C898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0206C898 */ cpu->r[1] = _t0;
|
|
/* 0206C89C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0206C89C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0206C8A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0206C8A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0206C8A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0206C8A8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0206C8A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0206C8AC */ cpu->r[12] = 0x00000000u;
|
|
/* 0206C8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206C8B4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0206C8B4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0206C8B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206C8B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0206C8B8 */ if (_t6) goto L_0206C8E0; else goto L_0206C8BC;
|
|
L_0206C8BC: ; // 0x206c8bc
|
|
/* 0206C8BC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0206C8BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0206C8C0 */ /* nop */
|
|
/* 0206C8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0206C8C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206C8C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0206C8C8 */ if (_t9) goto L_0206C8CC; else goto L_0206C8E0;
|
|
L_0206C8CC: ; // 0x206c8cc
|
|
/* 0206C8CC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0206C8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0206C8D0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0206C8D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0206C8D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0206C8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0206C8E0: ; // 0x206c8e0
|
|
/* 0206C8E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8E4 */ Gambit_fn_0206C80C(cpu);
|
|
/* 0206C8E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8EC */ Gambit_fn_027FC37C(cpu);
|
|
/* 0206C8F0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0206C8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0206C8F4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0206C8F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0206C8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0206C8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0206C900 */ return;
|
|
L_0209C104: ; // 0x209c104
|
|
/* 0209C104 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209C108 */ goto L_0206C894;
|
|
}
|
|
|
|
// fn_0209C10C @ 0x209c10c
|
|
void Gambit_fn_0209C10C(CPUState* cpu) {
|
|
L_0209C10C: ; // 0x209c10c
|
|
/* 0209C10C */ return;
|
|
}
|
|
|
|
// fn_0209C110 @ 0x209c110
|
|
void Gambit_fn_0209C110(CPUState* cpu) {
|
|
L_0209C110: ; // 0x209c110
|
|
/* 0209C110 */ return;
|
|
}
|
|
|
|
// fn_0209C114 @ 0x209c114
|
|
void Gambit_fn_0209C114(CPUState* cpu) {
|
|
L_0209C114: ; // 0x209c114
|
|
/* 0209C114 */ return;
|
|
}
|
|
|
|
// fn_0209C118 @ 0x209c118
|
|
void Gambit_fn_0209C118(CPUState* cpu) {
|
|
L_0209C118: ; // 0x209c118
|
|
/* 0209C118 */ return;
|
|
}
|
|
|
|
// fn_0209C11C @ 0x209c11c
|
|
void Gambit_fn_0209C11C(CPUState* cpu) {
|
|
L_0209C11C: ; // 0x209c11c
|
|
/* 0209C11C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209C120 */ return;
|
|
}
|
|
|
|
// fn_0209C124 @ 0x209c124
|
|
void Gambit_fn_0209C124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209C124: ; // 0x209c124
|
|
/* 0209C124 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C128 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209C128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C128 */ cpu->r[1] = _t0;
|
|
/* 0209C12C */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C12C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C130 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C130 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C134 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209C138 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209C138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C13C */ cpu->ctr = cpu->r[0];
|
|
/* 0209C140 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C148 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209C14C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C150 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209C154 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C158 */ cpu->r[4] = 0x00000018u;
|
|
/* 0209C15C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C160 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C164 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C168 */ cpu->r[4] = 0x00000019u;
|
|
/* 0209C16C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C170 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C174 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209C178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C180 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C180 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C180 */ if (_t6) goto L_0209C188; else goto L_0209C184;
|
|
L_0209C184: ; // 0x209c184
|
|
/* 0209C184 */ Gambit_fn_0209887C(cpu);
|
|
L_0209C188: ; // 0x209c188
|
|
/* 0209C188 */ _t7 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C188 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209C18C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C190 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 0209C190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C194 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C198 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C19C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C1A0 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C1A4 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C1A8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1AC */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209C1B0 */ return;
|
|
}
|
|
|
|
// fn_0209C128 @ 0x209c128
|
|
void Gambit_fn_0209C128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209C128: ; // 0x209c128
|
|
/* 0209C128 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209C128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C128 */ cpu->r[1] = _t0;
|
|
/* 0209C12C */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C12C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C130 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C130 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C134 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209C138 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209C138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C13C */ cpu->ctr = cpu->r[0];
|
|
/* 0209C140 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C148 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209C14C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C150 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209C154 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C158 */ cpu->r[4] = 0x00000018u;
|
|
/* 0209C15C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C160 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C164 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C168 */ cpu->r[4] = 0x00000019u;
|
|
/* 0209C16C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C170 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C174 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209C178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C180 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C180 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C180 */ if (_t6) goto L_0209C188; else goto L_0209C184;
|
|
L_0209C184: ; // 0x209c184
|
|
/* 0209C184 */ Gambit_fn_0209887C(cpu);
|
|
L_0209C188: ; // 0x209c188
|
|
/* 0209C188 */ _t7 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C188 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209C18C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C190 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 0209C190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C194 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C198 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C19C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C1A0 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C1A4 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C1A8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1AC */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209C1B0 */ return;
|
|
}
|
|
|
|
// fn_0209C1B4 @ 0x209c1b4
|
|
void Gambit_fn_0209C1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209C124: ; // 0x209c124
|
|
/* 0209C124 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C128 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209C128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C128 */ cpu->r[1] = _t0;
|
|
/* 0209C12C */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C12C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C130 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C130 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C134 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209C138 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209C138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C13C */ cpu->ctr = cpu->r[0];
|
|
/* 0209C140 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C148 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209C14C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C150 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209C154 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C158 */ cpu->r[4] = 0x00000018u;
|
|
/* 0209C15C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C160 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C164 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209C168 */ cpu->r[4] = 0x00000019u;
|
|
/* 0209C16C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C170 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209C174 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0209C178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C180 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C180 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C180 */ if (_t6) goto L_0209C188; else goto L_0209C184;
|
|
L_0209C184: ; // 0x209c184
|
|
/* 0209C184 */ Gambit_fn_0209887C(cpu);
|
|
L_0209C188: ; // 0x209c188
|
|
/* 0209C188 */ _t7 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C188 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0209C18C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C190 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 0209C190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C194 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C198 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C19C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C1A0 */ _t10 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209C1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C1A4 */ _t11 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209C1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C1A8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1AC */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209C1B0 */ return;
|
|
L_0209C1B4: ; // 0x209c1b4
|
|
/* 0209C1B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C1B8 */ goto L_0209C124;
|
|
}
|
|
|
|
// fn_0209C1BC @ 0x209c1bc
|
|
void Gambit_fn_0209C1BC(CPUState* cpu) {
|
|
L_0209C1BC: ; // 0x209c1bc
|
|
/* 0209C1BC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C1C0 */ goto L_0209C66C;
|
|
L_0209C66C: ; // 0x209c66c
|
|
/* 0209C66C */ return;
|
|
}
|
|
|
|
// fn_0209C1C4 @ 0x209c1c4
|
|
void Gambit_fn_0209C1C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209C1C4: ; // 0x209c1c4
|
|
/* 0209C1C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C1C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C1C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C1C8 */ cpu->r[1] = _t0;
|
|
/* 0209C1CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C1D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C1D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C1D8 */ _t3 = cpu->r[31] + 0x00000036u;
|
|
/* 0209C1D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C1DC */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1E0 */ /* nop */
|
|
/* 0209C1E4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209C1E8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1EC */ Gambit_fn_0209C748(cpu);
|
|
/* 0209C1F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C1F4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209C1F8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C200 */ return;
|
|
}
|
|
|
|
// fn_0209C1C8 @ 0x209c1c8
|
|
void Gambit_fn_0209C1C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209C1C8: ; // 0x209c1c8
|
|
/* 0209C1C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C1C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C1C8 */ cpu->r[1] = _t0;
|
|
/* 0209C1CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C1D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C1D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C1D8 */ _t3 = cpu->r[31] + 0x00000036u;
|
|
/* 0209C1D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C1DC */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1E0 */ /* nop */
|
|
/* 0209C1E4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209C1E8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1EC */ Gambit_fn_0209C748(cpu);
|
|
/* 0209C1F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C1F4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209C1F8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C200 */ return;
|
|
}
|
|
|
|
// fn_0209C204 @ 0x209c204
|
|
void Gambit_fn_0209C204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209C1C4: ; // 0x209c1c4
|
|
/* 0209C1C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C1C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C1C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C1C8 */ cpu->r[1] = _t0;
|
|
/* 0209C1CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C1D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C1D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C1D8 */ _t3 = cpu->r[31] + 0x00000036u;
|
|
/* 0209C1D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C1DC */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1E0 */ /* nop */
|
|
/* 0209C1E4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209C1E8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C1EC */ Gambit_fn_0209C748(cpu);
|
|
/* 0209C1F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C1F4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C1F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209C1F8 */ cpu->lr = cpu->r[0];
|
|
/* 0209C1FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C200 */ return;
|
|
L_0209C204: ; // 0x209c204
|
|
/* 0209C204 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C208 */ goto L_0209C1C4;
|
|
}
|
|
|
|
// fn_0209C20C @ 0x209c20c
|
|
void Gambit_fn_0209C20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209C20C: ; // 0x209c20c
|
|
/* 0209C20C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C210 */ goto L_0209C6AC;
|
|
L_0209C6AC: ; // 0x209c6ac
|
|
/* 0209C6AC */ cpu->r[3] = cpu->r[3] + 0x00000028u;
|
|
/* 0209C6B0 */ goto L_0209C858;
|
|
L_0209C858: ; // 0x209c858
|
|
/* 0209C858 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C85C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C85C */ cpu->r[1] = _t0;
|
|
/* 0209C860 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C864 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C868 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C868 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C86C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0209C86C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C870 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209C874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C878 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0209C878 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209C87C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C87C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C87C */ if (_t6) goto L_0209C8A4; else goto L_0209C880;
|
|
L_0209C880: ; // 0x209c880
|
|
/* 0209C880 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209C880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0209C884 */ /* nop */
|
|
/* 0209C888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0209C88C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C88C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209C88C */ if (_t9) goto L_0209C890; else goto L_0209C8A4;
|
|
L_0209C890: ; // 0x209c890
|
|
/* 0209C890 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C894 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0209C894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C898 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209C8A4: ; // 0x209c8a4
|
|
/* 0209C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A8 */ Gambit_fn_0209C7D0(cpu);
|
|
/* 0209C8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8B0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0209C8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209C8B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209C8BC */ cpu->lr = cpu->r[0];
|
|
/* 0209C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C8C4 */ return;
|
|
}
|
|
|
|
// fn_0209C214 @ 0x209c214
|
|
void Gambit_fn_0209C214(CPUState* cpu) {
|
|
L_0209C214: ; // 0x209c214
|
|
/* 0209C214 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C218 */ goto L_0209C6B4;
|
|
L_0209C6B4: ; // 0x209c6b4
|
|
/* 0209C6B4 */ return;
|
|
}
|
|
|
|
// fn_0209C21C @ 0x209c21c
|
|
void Gambit_fn_0209C21C(CPUState* cpu) {
|
|
L_0209C21C: ; // 0x209c21c
|
|
/* 0209C21C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C220 */ goto L_0209C6B8;
|
|
L_0209C6B8: ; // 0x209c6b8
|
|
/* 0209C6B8 */ return;
|
|
}
|
|
|
|
// fn_0209C224 @ 0x209c224
|
|
void Gambit_fn_0209C224(CPUState* cpu) {
|
|
L_0209C224: ; // 0x209c224
|
|
/* 0209C224 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C228 */ goto L_0209C6BC;
|
|
L_0209C6BC: ; // 0x209c6bc
|
|
/* 0209C6BC */ cpu->r[3] = 0x00000001u;
|
|
/* 0209C6C0 */ return;
|
|
}
|
|
|
|
// fn_0209C22C @ 0x209c22c
|
|
void Gambit_fn_0209C22C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C22C: ; // 0x209c22c
|
|
/* 0209C22C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C230 */ goto L_0209C6C4;
|
|
L_0209C6C4: ; // 0x209c6c4
|
|
/* 0209C6C4 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209C6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209C6C8 */ return;
|
|
}
|
|
|
|
// fn_0209C234 @ 0x209c234
|
|
void Gambit_fn_0209C234(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C234: ; // 0x209c234
|
|
/* 0209C234 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C238 */ goto L_0209C6D4;
|
|
L_0209C6D4: ; // 0x209c6d4
|
|
/* 0209C6D4 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209C6D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209C6D8 */ return;
|
|
}
|
|
|
|
// fn_0209C23C @ 0x209c23c
|
|
void Gambit_fn_0209C23C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C23C: ; // 0x209c23c
|
|
/* 0209C23C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209C240 */ goto L_0209C6DC;
|
|
L_0209C6DC: ; // 0x209c6dc
|
|
/* 0209C6DC */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209C6DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C6E0 */ return;
|
|
}
|
|
|
|
// fn_0209C244 @ 0x209c244
|
|
void Gambit_fn_0209C244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89;
|
|
|
|
L_0209C244: ; // 0x209c244
|
|
/* 0209C244 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C248 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0209C248 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C248 */ cpu->r[1] = _t0;
|
|
/* 0209C24C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0209C24C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209C250 */ /* nop */
|
|
/* 0209C254 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209C254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209C258 */ cpu->r[28] = cpu->r[4];
|
|
/* 0209C25C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C25C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C25C */ if (_t3) goto L_0209C260; else goto L_0209C270;
|
|
L_0209C260: ; // 0x209c260
|
|
/* 0209C260 */ cpu->r[3] = 0x00000068u;
|
|
/* 0209C264 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C268 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209C268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209C26C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C26C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209C26C */ if (_t5) goto L_0209C51C; else goto L_0209C270;
|
|
L_0209C270: ; // 0x209c270
|
|
/* 0209C270 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209C274 */ cpu->r[3] = cpu->r[29];
|
|
/* 0209C278 */ cpu->r[5] = 0x00000020u;
|
|
/* 0209C27C */ cpu->r[4] = cpu->r[4] + 0x000012B0u;
|
|
/* 0209C280 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209C284 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209C288 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209C28C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209C290 */ cpu->r[9] = cpu->r[9] + 0x000012D0u;
|
|
/* 0209C294 */ cpu->r[10] = cpu->r[10] + 0x00001348u;
|
|
/* 0209C298 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 0209C298 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0209C29C */ cpu->r[0] = cpu->r[0] + 0x00001358u;
|
|
/* 0209C2A0 */ cpu->r[31] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209C2A4 */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0209C2A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0209C2A8 */ cpu->r[26] = 0x00000000u;
|
|
/* 0209C2AC */ _t8 = cpu->r[29] + 0x00000010u;
|
|
/* 0209C2AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209C2B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C2B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209C2B0 */ if (_t10) goto L_0209C2B4; else goto L_0209C2C4;
|
|
L_0209C2B4: ; // 0x209c2b4
|
|
/* 0209C2B4 */ cpu->r[3] = 0x00000038u;
|
|
/* 0209C2B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C2BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209C2C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C2C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209C2C0 */ if (_t12) goto L_0209C2F4; else goto L_0209C2C4;
|
|
L_0209C2C4: ; // 0x209c2c4
|
|
/* 0209C2C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C2C8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0209C2CC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209C2D0 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 0209C2D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[26]);
|
|
/* 0209C2D4 */ cpu->r[0] = cpu->r[0] + 0x000013C0u;
|
|
/* 0209C2D8 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0209C2D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]);
|
|
/* 0209C2DC */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C2DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0209C2E0 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 0209C2E0 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 0209C2E4 */ _t17 = cpu->r[31] + 0x00000028u;
|
|
/* 0209C2E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]);
|
|
/* 0209C2E8 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0209C2E8 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]);
|
|
/* 0209C2EC */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209C2EC */ rbrew_write32(cpu->mem, _t19, cpu->r[26]);
|
|
/* 0209C2F0 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 0209C2F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[26]);
|
|
L_0209C2F4: ; // 0x209c2f4
|
|
/* 0209C2F4 */ _t21 = cpu->r[29] + 0x00000060u;
|
|
/* 0209C2F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 0209C2F8 */ cpu->r[11] = 0x00000002u;
|
|
/* 0209C2FC */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C300 */ _t22 = cpu->r[29] + 0x00000064u;
|
|
/* 0209C300 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[26]);
|
|
/* 0209C304 */ cpu->r[4] = cpu->r[29];
|
|
/* 0209C308 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C30C */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C310 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C310 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 0209C314 */ Gambit_fn_0209C8C8(cpu);
|
|
/* 0209C318 */ cpu->r[27] = 0x10010000u;
|
|
/* 0209C31C */ cpu->r[25] = 0x020A0000u;
|
|
/* 0209C320 */ cpu->r[27] = cpu->r[27] + 0x00001240u;
|
|
/* 0209C324 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209C328 */ cpu->r[25] = cpu->r[25] + 0xFFFFC6E4u;
|
|
/* 0209C32C */ cpu->r[5] = cpu->r[5] + 0x000012A0u;
|
|
/* 0209C330 */ cpu->ctr = cpu->r[25];
|
|
/* 0209C334 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C334 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 0209C338 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C338 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 0209C33C */ _t26 = cpu->r[29] + 0x00000040u;
|
|
/* 0209C33C */ cpu->r[23] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209C340 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C344 */ _t27 = cpu->r[23] + 0x00000000u;
|
|
/* 0209C344 */ cpu->r[24] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209C348 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C34C */ cpu->r[31] = 0x10110000u;
|
|
/* 0209C350 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209C354 */ _t29 = cpu->r[31] + 0x00007399u;
|
|
/* 0209C354 */ cpu->r[31] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0209C358 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C358 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0209C35C */ cpu->r[30] = 0x00000000u;
|
|
/* 0209C360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209C364 */ cpu->r[5] = 0x00080000u;
|
|
/* 0209C368 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C368 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209C368 */ if (_t32) goto L_0209C390; else goto L_0209C36C;
|
|
L_0209C36C: ; // 0x209c36c
|
|
/* 0209C36C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209C370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0209C374 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0209C378 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C378 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0209C378 */ if (_t34) goto L_0209C38C; else goto L_0209C37C;
|
|
L_0209C37C: ; // 0x209c37c
|
|
/* 0209C37C */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C37C */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0209C380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0209C384 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C384 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209C384 */ if (_t37) goto L_0209C388; else goto L_0209C36C;
|
|
L_0209C388: ; // 0x209c388
|
|
/* 0209C388 */ goto L_0209C390;
|
|
L_0209C38C: ; // 0x209c38c
|
|
/* 0209C38C */ cpu->r[30] = 0x00000000u;
|
|
L_0209C390: ; // 0x209c390
|
|
/* 0209C390 */ _t38 = cpu->r[23] + 0x00000008u;
|
|
/* 0209C390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209C394 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209C398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0209C39C */ _t40 = cpu->r[10] + 0x00000014u;
|
|
/* 0209C39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209C3A0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C3A0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209C3A0 */ if (_t42) goto L_0209C3A8; else goto L_0209C3A4;
|
|
L_0209C3A4: ; // 0x209c3a4
|
|
/* 0209C3A4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209C3A8: ; // 0x209c3a8
|
|
/* 0209C3A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C3AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C3B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C3B4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0209C3B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C3BC */ cpu->r[5] = cpu->r[30];
|
|
/* 0209C3C0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0209C3C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209C3C8 */ cpu->r[0] = 0x020A0000u;
|
|
/* 0209C3CC */ _t44 = cpu->r[24] + cpu->r[30];
|
|
/* 0209C3CC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[31]);
|
|
/* 0209C3D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFC58Cu;
|
|
/* 0209C3D4 */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 0209C3D4 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[26]);
|
|
/* 0209C3D8 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 0209C3D8 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 0209C3DC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209C3E0 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 0209C3E0 */ rbrew_write32(cpu->mem, _t47, cpu->r[26]);
|
|
/* 0209C3E4 */ _t48 = cpu->r[1] + 0x00000026u;
|
|
/* 0209C3E4 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[26]);
|
|
/* 0209C3E8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C3EC */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 0209C3EC */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 0209C3F0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C3F4 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C3F4 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[26]);
|
|
/* 0209C3F8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0209C3FC */ _t51 = cpu->r[1] + 0x00000016u;
|
|
/* 0209C3FC */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[26]);
|
|
/* 0209C400 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C404 */ _t52 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0209C404 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[0]);
|
|
/* 0209C408 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209C40C */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C40C */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[26]);
|
|
/* 0209C410 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0209C414 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C414 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
/* 0209C418 */ Gambit_fn_0209CB78(cpu);
|
|
/* 0209C41C */ cpu->r[9] = 0x10010000u;
|
|
/* 0209C420 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C420 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 0209C424 */ cpu->r[9] = cpu->r[9] + 0x000012C4u;
|
|
/* 0209C428 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C428 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 0209C42C */ _t57 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209C42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209C430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0209C434 */ _t58 = cpu->r[29] + 0x00000040u;
|
|
/* 0209C434 */ cpu->r[27] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209C438 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C438 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0209C438 */ if (_t60) goto L_0209C43C; else goto L_0209C440;
|
|
L_0209C43C: ; // 0x209c43c
|
|
/* 0209C43C */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_0209C440: ; // 0x209c440
|
|
/* 0209C440 */ cpu->ctr = cpu->r[25];
|
|
/* 0209C444 */ _t61 = cpu->r[27] + 0x00000000u;
|
|
/* 0209C444 */ cpu->r[24] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0209C448 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C44C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C450 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C450 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209C454 */ _t63 = cpu->r[7] + 0x00000000u;
|
|
/* 0209C454 */ cpu->r[5] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0209C458 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209C45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209C460 */ cpu->r[9] = 0x00080000u;
|
|
/* 0209C464 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C464 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0209C464 */ if (_t65) goto L_0209C48C; else goto L_0209C468;
|
|
L_0209C468: ; // 0x209c468
|
|
/* 0209C468 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209C46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0209C470 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0209C474 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C474 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209C474 */ if (_t67) goto L_0209C488; else goto L_0209C478;
|
|
L_0209C478: ; // 0x209c478
|
|
/* 0209C478 */ _t68 = cpu->r[7] + 0x00000000u;
|
|
/* 0209C478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0209C47C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209C480 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C480 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0209C480 */ if (_t70) goto L_0209C484; else goto L_0209C468;
|
|
L_0209C484: ; // 0x209c484
|
|
/* 0209C484 */ goto L_0209C48C;
|
|
L_0209C488: ; // 0x209c488
|
|
/* 0209C488 */ cpu->r[30] = 0x00000000u;
|
|
L_0209C48C: ; // 0x209c48c
|
|
/* 0209C48C */ _t71 = cpu->r[27] + 0x00000008u;
|
|
/* 0209C48C */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0209C490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0209C494 */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C494 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0209C498 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C498 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0209C498 */ if (_t74) goto L_0209C4A0; else goto L_0209C49C;
|
|
L_0209C49C: ; // 0x209c49c
|
|
/* 0209C49C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0209C4A0: ; // 0x209c4a0
|
|
/* 0209C4A0 */ _t75 = cpu->r[7] + 0x00000014u;
|
|
/* 0209C4A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0209C4A4 */ cpu->ctr = cpu->r[8];
|
|
/* 0209C4A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C4AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C4B0 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C4B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0209C4B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C4B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0209C4BC */ cpu->r[3] = cpu->r[24];
|
|
/* 0209C4C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209C4C4 */ _t77 = cpu->r[24] + cpu->r[30];
|
|
/* 0209C4C4 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[31]);
|
|
/* 0209C4C8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209C4CC */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C4CC */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]);
|
|
/* 0209C4D0 */ cpu->r[11] = 0x020A0000u;
|
|
/* 0209C4D4 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 0209C4D4 */ rbrew_write32(cpu->mem, _t79, cpu->r[26]);
|
|
/* 0209C4D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFC5A4u;
|
|
/* 0209C4DC */ _t80 = cpu->r[1] + 0x00000016u;
|
|
/* 0209C4DC */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[0]);
|
|
/* 0209C4E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209C4E4 */ _t81 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0209C4E4 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[26]);
|
|
/* 0209C4E8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C4EC */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 0209C4EC */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 0209C4F0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C4F4 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C4F4 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[0]);
|
|
/* 0209C4F8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0209C4FC */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 0209C4FC */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[26]);
|
|
/* 0209C500 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0209C504 */ _t85 = cpu->r[1] + 0x00000026u;
|
|
/* 0209C504 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[26]);
|
|
/* 0209C508 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C50C */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C50C */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[26]);
|
|
/* 0209C510 */ _t87 = cpu->r[1] + 0x00000028u;
|
|
/* 0209C510 */ rbrew_write32(cpu->mem, _t87, cpu->r[26]);
|
|
/* 0209C514 */ Gambit_fn_0209CB78(cpu);
|
|
/* 0209C518 */ _t88 = cpu->r[29] + 0x00000014u;
|
|
/* 0209C518 */ rbrew_write32(cpu->mem, _t88, cpu->r[28]);
|
|
L_0209C51C: ; // 0x209c51c
|
|
/* 0209C51C */ cpu->r[3] = cpu->r[29];
|
|
/* 0209C520 */ /* nop */
|
|
/* 0209C524 */ _t89 = cpu->r[1] + 0x00000054u;
|
|
/* 0209C524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0209C528 */ cpu->lr = cpu->r[0];
|
|
/* 0209C52C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0209C530 */ return;
|
|
}
|
|
|
|
// fn_0209C248 @ 0x209c248
|
|
void Gambit_fn_0209C248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89;
|
|
|
|
L_0209C248: ; // 0x209c248
|
|
/* 0209C248 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0209C248 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C248 */ cpu->r[1] = _t0;
|
|
/* 0209C24C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0209C24C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209C250 */ /* nop */
|
|
/* 0209C254 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209C254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209C258 */ cpu->r[28] = cpu->r[4];
|
|
/* 0209C25C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C25C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C25C */ if (_t3) goto L_0209C260; else goto L_0209C270;
|
|
L_0209C260: ; // 0x209c260
|
|
/* 0209C260 */ cpu->r[3] = 0x00000068u;
|
|
/* 0209C264 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C268 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209C268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209C26C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C26C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209C26C */ if (_t5) goto L_0209C51C; else goto L_0209C270;
|
|
L_0209C270: ; // 0x209c270
|
|
/* 0209C270 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209C274 */ cpu->r[3] = cpu->r[29];
|
|
/* 0209C278 */ cpu->r[5] = 0x00000020u;
|
|
/* 0209C27C */ cpu->r[4] = cpu->r[4] + 0x000012B0u;
|
|
/* 0209C280 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209C284 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209C288 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209C28C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209C290 */ cpu->r[9] = cpu->r[9] + 0x000012D0u;
|
|
/* 0209C294 */ cpu->r[10] = cpu->r[10] + 0x00001348u;
|
|
/* 0209C298 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 0209C298 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0209C29C */ cpu->r[0] = cpu->r[0] + 0x00001358u;
|
|
/* 0209C2A0 */ cpu->r[31] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209C2A4 */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0209C2A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0209C2A8 */ cpu->r[26] = 0x00000000u;
|
|
/* 0209C2AC */ _t8 = cpu->r[29] + 0x00000010u;
|
|
/* 0209C2AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209C2B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C2B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209C2B0 */ if (_t10) goto L_0209C2B4; else goto L_0209C2C4;
|
|
L_0209C2B4: ; // 0x209c2b4
|
|
/* 0209C2B4 */ cpu->r[3] = 0x00000038u;
|
|
/* 0209C2B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209C2BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209C2C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C2C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209C2C0 */ if (_t12) goto L_0209C2F4; else goto L_0209C2C4;
|
|
L_0209C2C4: ; // 0x209c2c4
|
|
/* 0209C2C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C2C8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0209C2CC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209C2D0 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 0209C2D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[26]);
|
|
/* 0209C2D4 */ cpu->r[0] = cpu->r[0] + 0x000013C0u;
|
|
/* 0209C2D8 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0209C2D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]);
|
|
/* 0209C2DC */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C2DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0209C2E0 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 0209C2E0 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 0209C2E4 */ _t17 = cpu->r[31] + 0x00000028u;
|
|
/* 0209C2E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]);
|
|
/* 0209C2E8 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0209C2E8 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]);
|
|
/* 0209C2EC */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209C2EC */ rbrew_write32(cpu->mem, _t19, cpu->r[26]);
|
|
/* 0209C2F0 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 0209C2F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[26]);
|
|
L_0209C2F4: ; // 0x209c2f4
|
|
/* 0209C2F4 */ _t21 = cpu->r[29] + 0x00000060u;
|
|
/* 0209C2F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 0209C2F8 */ cpu->r[11] = 0x00000002u;
|
|
/* 0209C2FC */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C300 */ _t22 = cpu->r[29] + 0x00000064u;
|
|
/* 0209C300 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[26]);
|
|
/* 0209C304 */ cpu->r[4] = cpu->r[29];
|
|
/* 0209C308 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C30C */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C310 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C310 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 0209C314 */ Gambit_fn_0209C8C8(cpu);
|
|
/* 0209C318 */ cpu->r[27] = 0x10010000u;
|
|
/* 0209C31C */ cpu->r[25] = 0x020A0000u;
|
|
/* 0209C320 */ cpu->r[27] = cpu->r[27] + 0x00001240u;
|
|
/* 0209C324 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209C328 */ cpu->r[25] = cpu->r[25] + 0xFFFFC6E4u;
|
|
/* 0209C32C */ cpu->r[5] = cpu->r[5] + 0x000012A0u;
|
|
/* 0209C330 */ cpu->ctr = cpu->r[25];
|
|
/* 0209C334 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C334 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 0209C338 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C338 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 0209C33C */ _t26 = cpu->r[29] + 0x00000040u;
|
|
/* 0209C33C */ cpu->r[23] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209C340 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C344 */ _t27 = cpu->r[23] + 0x00000000u;
|
|
/* 0209C344 */ cpu->r[24] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209C348 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C34C */ cpu->r[31] = 0x10110000u;
|
|
/* 0209C350 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209C354 */ _t29 = cpu->r[31] + 0x00007399u;
|
|
/* 0209C354 */ cpu->r[31] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0209C358 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C358 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0209C35C */ cpu->r[30] = 0x00000000u;
|
|
/* 0209C360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209C364 */ cpu->r[5] = 0x00080000u;
|
|
/* 0209C368 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C368 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209C368 */ if (_t32) goto L_0209C390; else goto L_0209C36C;
|
|
L_0209C36C: ; // 0x209c36c
|
|
/* 0209C36C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209C370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0209C374 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0209C378 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C378 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0209C378 */ if (_t34) goto L_0209C38C; else goto L_0209C37C;
|
|
L_0209C37C: ; // 0x209c37c
|
|
/* 0209C37C */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C37C */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0209C380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0209C384 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C384 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209C384 */ if (_t37) goto L_0209C388; else goto L_0209C36C;
|
|
L_0209C388: ; // 0x209c388
|
|
/* 0209C388 */ goto L_0209C390;
|
|
L_0209C38C: ; // 0x209c38c
|
|
/* 0209C38C */ cpu->r[30] = 0x00000000u;
|
|
L_0209C390: ; // 0x209c390
|
|
/* 0209C390 */ _t38 = cpu->r[23] + 0x00000008u;
|
|
/* 0209C390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209C394 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209C398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0209C39C */ _t40 = cpu->r[10] + 0x00000014u;
|
|
/* 0209C39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209C3A0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C3A0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209C3A0 */ if (_t42) goto L_0209C3A8; else goto L_0209C3A4;
|
|
L_0209C3A4: ; // 0x209c3a4
|
|
/* 0209C3A4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209C3A8: ; // 0x209c3a8
|
|
/* 0209C3A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C3AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C3B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C3B4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0209C3B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C3BC */ cpu->r[5] = cpu->r[30];
|
|
/* 0209C3C0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0209C3C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209C3C8 */ cpu->r[0] = 0x020A0000u;
|
|
/* 0209C3CC */ _t44 = cpu->r[24] + cpu->r[30];
|
|
/* 0209C3CC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[31]);
|
|
/* 0209C3D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFC58Cu;
|
|
/* 0209C3D4 */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 0209C3D4 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[26]);
|
|
/* 0209C3D8 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 0209C3D8 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 0209C3DC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209C3E0 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 0209C3E0 */ rbrew_write32(cpu->mem, _t47, cpu->r[26]);
|
|
/* 0209C3E4 */ _t48 = cpu->r[1] + 0x00000026u;
|
|
/* 0209C3E4 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[26]);
|
|
/* 0209C3E8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C3EC */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 0209C3EC */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 0209C3F0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C3F4 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C3F4 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[26]);
|
|
/* 0209C3F8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0209C3FC */ _t51 = cpu->r[1] + 0x00000016u;
|
|
/* 0209C3FC */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[26]);
|
|
/* 0209C400 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C404 */ _t52 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0209C404 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[0]);
|
|
/* 0209C408 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209C40C */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C40C */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[26]);
|
|
/* 0209C410 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0209C414 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C414 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
/* 0209C418 */ Gambit_fn_0209CB78(cpu);
|
|
/* 0209C41C */ cpu->r[9] = 0x10010000u;
|
|
/* 0209C420 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C420 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 0209C424 */ cpu->r[9] = cpu->r[9] + 0x000012C4u;
|
|
/* 0209C428 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C428 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 0209C42C */ _t57 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0209C42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209C430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0209C434 */ _t58 = cpu->r[29] + 0x00000040u;
|
|
/* 0209C434 */ cpu->r[27] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209C438 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C438 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0209C438 */ if (_t60) goto L_0209C43C; else goto L_0209C440;
|
|
L_0209C43C: ; // 0x209c43c
|
|
/* 0209C43C */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_0209C440: ; // 0x209c440
|
|
/* 0209C440 */ cpu->ctr = cpu->r[25];
|
|
/* 0209C444 */ _t61 = cpu->r[27] + 0x00000000u;
|
|
/* 0209C444 */ cpu->r[24] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0209C448 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C44C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C450 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C450 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209C454 */ _t63 = cpu->r[7] + 0x00000000u;
|
|
/* 0209C454 */ cpu->r[5] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0209C458 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209C45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209C460 */ cpu->r[9] = 0x00080000u;
|
|
/* 0209C464 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C464 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0209C464 */ if (_t65) goto L_0209C48C; else goto L_0209C468;
|
|
L_0209C468: ; // 0x209c468
|
|
/* 0209C468 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209C46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0209C470 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0209C474 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C474 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209C474 */ if (_t67) goto L_0209C488; else goto L_0209C478;
|
|
L_0209C478: ; // 0x209c478
|
|
/* 0209C478 */ _t68 = cpu->r[7] + 0x00000000u;
|
|
/* 0209C478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0209C47C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209C480 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C480 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0209C480 */ if (_t70) goto L_0209C484; else goto L_0209C468;
|
|
L_0209C484: ; // 0x209c484
|
|
/* 0209C484 */ goto L_0209C48C;
|
|
L_0209C488: ; // 0x209c488
|
|
/* 0209C488 */ cpu->r[30] = 0x00000000u;
|
|
L_0209C48C: ; // 0x209c48c
|
|
/* 0209C48C */ _t71 = cpu->r[27] + 0x00000008u;
|
|
/* 0209C48C */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0209C490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0209C494 */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 0209C494 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0209C498 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C498 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0209C498 */ if (_t74) goto L_0209C4A0; else goto L_0209C49C;
|
|
L_0209C49C: ; // 0x209c49c
|
|
/* 0209C49C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0209C4A0: ; // 0x209c4a0
|
|
/* 0209C4A0 */ _t75 = cpu->r[7] + 0x00000014u;
|
|
/* 0209C4A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0209C4A4 */ cpu->ctr = cpu->r[8];
|
|
/* 0209C4A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C4AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C4B0 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C4B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0209C4B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209C4B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0209C4BC */ cpu->r[3] = cpu->r[24];
|
|
/* 0209C4C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209C4C4 */ _t77 = cpu->r[24] + cpu->r[30];
|
|
/* 0209C4C4 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[31]);
|
|
/* 0209C4C8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209C4CC */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C4CC */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]);
|
|
/* 0209C4D0 */ cpu->r[11] = 0x020A0000u;
|
|
/* 0209C4D4 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 0209C4D4 */ rbrew_write32(cpu->mem, _t79, cpu->r[26]);
|
|
/* 0209C4D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFC5A4u;
|
|
/* 0209C4DC */ _t80 = cpu->r[1] + 0x00000016u;
|
|
/* 0209C4DC */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[0]);
|
|
/* 0209C4E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209C4E4 */ _t81 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0209C4E4 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[26]);
|
|
/* 0209C4E8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209C4EC */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 0209C4EC */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 0209C4F0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0209C4F4 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C4F4 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[0]);
|
|
/* 0209C4F8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0209C4FC */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 0209C4FC */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[26]);
|
|
/* 0209C500 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0209C504 */ _t85 = cpu->r[1] + 0x00000026u;
|
|
/* 0209C504 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[26]);
|
|
/* 0209C508 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0209C50C */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C50C */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[26]);
|
|
/* 0209C510 */ _t87 = cpu->r[1] + 0x00000028u;
|
|
/* 0209C510 */ rbrew_write32(cpu->mem, _t87, cpu->r[26]);
|
|
/* 0209C514 */ Gambit_fn_0209CB78(cpu);
|
|
/* 0209C518 */ _t88 = cpu->r[29] + 0x00000014u;
|
|
/* 0209C518 */ rbrew_write32(cpu->mem, _t88, cpu->r[28]);
|
|
L_0209C51C: ; // 0x209c51c
|
|
/* 0209C51C */ cpu->r[3] = cpu->r[29];
|
|
/* 0209C520 */ /* nop */
|
|
/* 0209C524 */ _t89 = cpu->r[1] + 0x00000054u;
|
|
/* 0209C524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0209C528 */ cpu->lr = cpu->r[0];
|
|
/* 0209C52C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0209C530 */ return;
|
|
}
|
|
|
|
// fn_0209C534 @ 0x209c534
|
|
void Gambit_fn_0209C534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209C534: ; // 0x209c534
|
|
/* 0209C534 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C538 */ cpu->r[1] = _t0;
|
|
/* 0209C53C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C53C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C540 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C540 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209C544 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209C548 */ cpu->r[31] = 0x00000000u;
|
|
/* 0209C54C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C54C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209C550 */ _t4 = cpu->r[30] + 0x00000060u;
|
|
/* 0209C550 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C554 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 0209C554 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 0209C558 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209C55C */ _t7 = cpu->r[12] + 0x00000094u;
|
|
/* 0209C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209C560 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C568 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
|
|
/* 0209C56C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209C570 */ Gambit_fn_0209CC88(cpu);
|
|
/* 0209C574 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C578 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C57C */ cpu->lr = cpu->r[0];
|
|
/* 0209C580 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C588 */ return;
|
|
}
|
|
|
|
// fn_0209C538 @ 0x209c538
|
|
void Gambit_fn_0209C538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209C538: ; // 0x209c538
|
|
/* 0209C538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C538 */ cpu->r[1] = _t0;
|
|
/* 0209C53C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C53C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C540 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C540 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209C544 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209C548 */ cpu->r[31] = 0x00000000u;
|
|
/* 0209C54C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C54C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209C550 */ _t4 = cpu->r[30] + 0x00000060u;
|
|
/* 0209C550 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C554 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 0209C554 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 0209C558 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209C55C */ _t7 = cpu->r[12] + 0x00000094u;
|
|
/* 0209C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209C560 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C568 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
|
|
/* 0209C56C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209C570 */ Gambit_fn_0209CC88(cpu);
|
|
/* 0209C574 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C578 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C57C */ cpu->lr = cpu->r[0];
|
|
/* 0209C580 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0209C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C588 */ return;
|
|
}
|
|
|
|
// fn_0209C5A8 @ 0x209c5a8
|
|
void Gambit_fn_0209C5A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_0209C5A8: ; // 0x209c5a8
|
|
/* 0209C5A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C5A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C5A8 */ cpu->r[1] = _t0;
|
|
/* 0209C5AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C5AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C5B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C5B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C5B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C5B8 */ _t3 = cpu->r[31] + 0x00000030u;
|
|
/* 0209C5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209C5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C5C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C5C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209C5C0 */ if (_t5) goto L_0209C5C4; else goto L_0209C5EC;
|
|
L_0209C5C4: ; // 0x209c5c4
|
|
/* 0209C5C4 */ _t6 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C5C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209C5C8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C5C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209C5CC */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0209C5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C5D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C5D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C5D8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C5D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C5DC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C5DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C5E0 */ cpu->lr = cpu->r[0];
|
|
/* 0209C5E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C5E8 */ return;
|
|
L_0209C5EC: ; // 0x209c5ec
|
|
/* 0209C5EC */ _t11 = cpu->r[31] + 0x00000064u;
|
|
/* 0209C5EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C5F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C5F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209C5F4 */ if (_t13) goto L_0209C5F8; else goto L_0209C628;
|
|
L_0209C5F8: ; // 0x209c5f8
|
|
/* 0209C5F8 */ _t14 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209C5FC */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C5FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209C600 */ _t16 = cpu->r[12] + 0x00000184u;
|
|
/* 0209C600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C604 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C608 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C610 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C610 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209C610 */ if (_t18) goto L_0209C628; else goto L_0209C614;
|
|
L_0209C614: ; // 0x209c614
|
|
/* 0209C614 */ _t19 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209C618 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209C61C */ _t21 = cpu->r[12] + 0x0000016Cu;
|
|
/* 0209C61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209C620 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209C628: ; // 0x209c628
|
|
/* 0209C628 */ _t22 = cpu->r[31] + 0x00000060u;
|
|
/* 0209C628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209C62C */ _t23 = cpu->r[12] + 0x00000118u;
|
|
/* 0209C62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209C630 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209C630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C634 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C634 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209C634 */ if (_t25) goto L_0209C644; else goto L_0209C638;
|
|
L_0209C638: ; // 0x209c638
|
|
/* 0209C638 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209C63C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209C640 */ Gambit_fn_0209CC88(cpu);
|
|
L_0209C644: ; // 0x209c644
|
|
/* 0209C644 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209C648 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209C64C */ cpu->lr = cpu->r[0];
|
|
/* 0209C650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C654 */ return;
|
|
}
|
|
|
|
// fn_0209C658 @ 0x209c658
|
|
void Gambit_fn_0209C658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209C658: ; // 0x209c658
|
|
/* 0209C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C65C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C65C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209C65C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C65C */ goto L_0209C660;
|
|
L_0209C660: ; // 0x209c660
|
|
/* 0209C660 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209C660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C664 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C664 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C664 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C664 */ goto L_0209C668;
|
|
L_0209C668: ; // 0x209c668
|
|
/* 0209C668 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209C66C @ 0x209c66c
|
|
void Gambit_fn_0209C66C(CPUState* cpu) {
|
|
L_0209C66C: ; // 0x209c66c
|
|
/* 0209C66C */ return;
|
|
}
|
|
|
|
// fn_0209C670 @ 0x209c670
|
|
void Gambit_fn_0209C670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209C670: ; // 0x209c670
|
|
/* 0209C670 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C674 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C674 */ cpu->r[1] = _t0;
|
|
/* 0209C678 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C678 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C67C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C67C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C680 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0209C680 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C684 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C688 */ /* nop */
|
|
/* 0209C68C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209C690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C694 */ Gambit_fn_0209C748(cpu);
|
|
/* 0209C698 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C69C */ cpu->lr = cpu->r[0];
|
|
/* 0209C6A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C6A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209C6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C6A8 */ return;
|
|
}
|
|
|
|
// fn_0209C674 @ 0x209c674
|
|
void Gambit_fn_0209C674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209C674: ; // 0x209c674
|
|
/* 0209C674 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C674 */ cpu->r[1] = _t0;
|
|
/* 0209C678 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C678 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C67C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C67C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C680 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0209C680 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C684 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C688 */ /* nop */
|
|
/* 0209C68C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209C690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C694 */ Gambit_fn_0209C748(cpu);
|
|
/* 0209C698 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209C69C */ cpu->lr = cpu->r[0];
|
|
/* 0209C6A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C6A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209C6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C6A8 */ return;
|
|
}
|
|
|
|
// fn_0209C6AC @ 0x209c6ac
|
|
void Gambit_fn_0209C6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209C6AC: ; // 0x209c6ac
|
|
/* 0209C6AC */ cpu->r[3] = cpu->r[3] + 0x00000028u;
|
|
/* 0209C6B0 */ goto L_0209C858;
|
|
L_0209C858: ; // 0x209c858
|
|
/* 0209C858 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C85C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C85C */ cpu->r[1] = _t0;
|
|
/* 0209C860 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C864 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C868 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C868 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C86C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0209C86C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C870 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209C874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C878 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0209C878 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209C87C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C87C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C87C */ if (_t6) goto L_0209C8A4; else goto L_0209C880;
|
|
L_0209C880: ; // 0x209c880
|
|
/* 0209C880 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209C880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0209C884 */ /* nop */
|
|
/* 0209C888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0209C88C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C88C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209C88C */ if (_t9) goto L_0209C890; else goto L_0209C8A4;
|
|
L_0209C890: ; // 0x209c890
|
|
/* 0209C890 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C894 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0209C894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C898 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209C8A4: ; // 0x209c8a4
|
|
/* 0209C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A8 */ Gambit_fn_0209C7D0(cpu);
|
|
/* 0209C8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8B0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0209C8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209C8B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209C8BC */ cpu->lr = cpu->r[0];
|
|
/* 0209C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C8C4 */ return;
|
|
}
|
|
|
|
// fn_0209C6B4 @ 0x209c6b4
|
|
void Gambit_fn_0209C6B4(CPUState* cpu) {
|
|
L_0209C6B4: ; // 0x209c6b4
|
|
/* 0209C6B4 */ return;
|
|
}
|
|
|
|
// fn_0209C6B8 @ 0x209c6b8
|
|
void Gambit_fn_0209C6B8(CPUState* cpu) {
|
|
L_0209C6B8: ; // 0x209c6b8
|
|
/* 0209C6B8 */ return;
|
|
}
|
|
|
|
// fn_0209C6BC @ 0x209c6bc
|
|
void Gambit_fn_0209C6BC(CPUState* cpu) {
|
|
L_0209C6BC: ; // 0x209c6bc
|
|
/* 0209C6BC */ cpu->r[3] = 0x00000001u;
|
|
/* 0209C6C0 */ return;
|
|
}
|
|
|
|
// fn_0209C6C4 @ 0x209c6c4
|
|
void Gambit_fn_0209C6C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C6C4: ; // 0x209c6c4
|
|
/* 0209C6C4 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209C6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209C6C8 */ return;
|
|
}
|
|
|
|
// fn_0209C6CC @ 0x209c6cc
|
|
void Gambit_fn_0209C6CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C6CC: ; // 0x209c6cc
|
|
/* 0209C6CC */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209C6CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C6D0 */ return;
|
|
}
|
|
|
|
// fn_0209C6D4 @ 0x209c6d4
|
|
void Gambit_fn_0209C6D4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C6D4: ; // 0x209c6d4
|
|
/* 0209C6D4 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209C6D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209C6D8 */ return;
|
|
}
|
|
|
|
// fn_0209C6DC @ 0x209c6dc
|
|
void Gambit_fn_0209C6DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C6DC: ; // 0x209c6dc
|
|
/* 0209C6DC */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209C6DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C6E0 */ return;
|
|
}
|
|
|
|
// fn_0209C6E4 @ 0x209c6e4
|
|
void Gambit_fn_0209C6E4(CPUState* cpu) {
|
|
L_0209C6E4: ; // 0x209c6e4
|
|
/* 0209C6E4 */ return;
|
|
}
|
|
|
|
// fn_0209C6E8 @ 0x209c6e8
|
|
void Gambit_fn_0209C6E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209C6E8: ; // 0x209c6e8
|
|
/* 0209C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C6EC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C6EC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209C6EC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C6EC */ goto L_0209C6F0;
|
|
L_0209C6F0: ; // 0x209c6f0
|
|
/* 0209C6F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C6F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C6F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C6F4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C6F4 */ goto L_0209C6F8;
|
|
L_0209C6F8: ; // 0x209c6f8
|
|
/* 0209C6F8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209C6FC @ 0x209c6fc
|
|
void Gambit_fn_0209C6FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209C6FC: ; // 0x209c6fc
|
|
/* 0209C6FC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209C6FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C700 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0209C700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209C704 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0209C708 */ cpu->r[11] = 0x10110000u;
|
|
/* 0209C70C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0209C70C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209C710 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209C710 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0209C714 */ return;
|
|
}
|
|
|
|
// fn_0209C718 @ 0x209c718
|
|
void Gambit_fn_0209C718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209C718: ; // 0x209c718
|
|
/* 0209C718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C71C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C71C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209C71C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C71C */ goto L_0209C720;
|
|
L_0209C720: ; // 0x209c720
|
|
/* 0209C720 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209C720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C724 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C724 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C724 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C724 */ goto L_0209C728;
|
|
L_0209C728: ; // 0x209c728
|
|
/* 0209C728 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209C72C @ 0x209c72c
|
|
void Gambit_fn_0209C72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209C72C: ; // 0x209c72c
|
|
/* 0209C72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C730 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C730 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209C730 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C730 */ goto L_0209C734;
|
|
L_0209C734: ; // 0x209c734
|
|
/* 0209C734 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209C734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C738 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C738 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209C738 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C738 */ goto L_0209C73C;
|
|
L_0209C73C: ; // 0x209c73c
|
|
/* 0209C73C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209C740 @ 0x209c740
|
|
void Gambit_fn_0209C740(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209C740: ; // 0x209c740
|
|
/* 0209C740 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209C740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209C744 */ return;
|
|
}
|
|
|
|
// fn_0209C748 @ 0x209c748
|
|
void Gambit_fn_0209C748(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209C748: ; // 0x209c748
|
|
/* 0209C748 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209C748 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0209C74C */ /* nop */
|
|
/* 0209C750 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0209C750 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209C754 */ cpu->r[8] = cpu->r[0];
|
|
/* 0209C758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0209C75C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0209C75C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209C760 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C760 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209C760 */ if (_t4) goto L_0209C764; else goto L_0209C77C;
|
|
L_0209C764: ; // 0x209c764
|
|
/* 0209C764 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C768 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0209C76C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0209C76C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0209C770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209C774 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C774 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209C774 */ if (_t7) goto L_0209C778; else goto L_0209C788;
|
|
L_0209C778: ; // 0x209c778
|
|
/* 0209C778 */ return;
|
|
L_0209C77C: ; // 0x209c77c
|
|
/* 0209C77C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0209C77C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0209C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209C784 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C784 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209C784 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C784 */ goto L_0209C788;
|
|
L_0209C788: ; // 0x209c788
|
|
/* 0209C788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0209C78C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0209C78C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C790 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C790 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209C790 */ if (_t13) goto L_0209C794; else goto L_0209C79C;
|
|
L_0209C794: ; // 0x209c794
|
|
/* 0209C794 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C798 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0209C79C: ; // 0x209c79c
|
|
/* 0209C79C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0209C79C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0209C7A0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C7A0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0209C7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C7A8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0209C7A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C7AC */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0209C7B0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C7B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209C7B0 */ if (_t18) goto L_0209C7C8; else goto L_0209C7B4;
|
|
L_0209C7B4: ; // 0x209c7b4
|
|
/* 0209C7B4 */ /* nop */
|
|
/* 0209C7B8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0209C7B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209C7BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C7C0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0209C7C4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0209C7C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0209C7C8: ; // 0x209c7c8
|
|
/* 0209C7C8 */ cpu->ctr = cpu->r[11];
|
|
/* 0209C7CC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209C7D0 @ 0x209c7d0
|
|
void Gambit_fn_0209C7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209C7D0: ; // 0x209c7d0
|
|
/* 0209C7D0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209C7D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0209C7D4 */ /* nop */
|
|
/* 0209C7D8 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0209C7D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209C7DC */ cpu->r[8] = cpu->r[0];
|
|
/* 0209C7E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0209C7E4 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0209C7E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209C7E8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C7E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209C7E8 */ if (_t4) goto L_0209C7EC; else goto L_0209C804;
|
|
L_0209C7EC: ; // 0x209c7ec
|
|
/* 0209C7EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C7F0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0209C7F4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0209C7F4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0209C7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209C7FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C7FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209C7FC */ if (_t7) goto L_0209C800; else goto L_0209C810;
|
|
L_0209C800: ; // 0x209c800
|
|
/* 0209C800 */ return;
|
|
L_0209C804: ; // 0x209c804
|
|
/* 0209C804 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0209C804 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0209C808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209C80C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C80C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209C80C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209C80C */ goto L_0209C810;
|
|
L_0209C810: ; // 0x209c810
|
|
/* 0209C810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0209C814 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0209C814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C818 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C818 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209C818 */ if (_t13) goto L_0209C81C; else goto L_0209C824;
|
|
L_0209C81C: ; // 0x209c81c
|
|
/* 0209C81C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C820 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0209C824: ; // 0x209c824
|
|
/* 0209C824 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0209C824 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0209C828 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0209C828 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0209C82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C830 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0209C830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C834 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0209C838 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209C838 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209C838 */ if (_t18) goto L_0209C850; else goto L_0209C83C;
|
|
L_0209C83C: ; // 0x209c83c
|
|
/* 0209C83C */ /* nop */
|
|
/* 0209C840 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0209C840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209C844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C848 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0209C84C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0209C84C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0209C850: ; // 0x209c850
|
|
/* 0209C850 */ cpu->ctr = cpu->r[11];
|
|
/* 0209C854 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209C858 @ 0x209c858
|
|
void Gambit_fn_0209C858(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209C858: ; // 0x209c858
|
|
/* 0209C858 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C85C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C85C */ cpu->r[1] = _t0;
|
|
/* 0209C860 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C864 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C868 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C868 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C86C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0209C86C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C870 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209C874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C878 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0209C878 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209C87C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C87C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C87C */ if (_t6) goto L_0209C8A4; else goto L_0209C880;
|
|
L_0209C880: ; // 0x209c880
|
|
/* 0209C880 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209C880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0209C884 */ /* nop */
|
|
/* 0209C888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0209C88C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C88C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209C88C */ if (_t9) goto L_0209C890; else goto L_0209C8A4;
|
|
L_0209C890: ; // 0x209c890
|
|
/* 0209C890 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C894 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0209C894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C898 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209C8A4: ; // 0x209c8a4
|
|
/* 0209C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A8 */ Gambit_fn_0209C7D0(cpu);
|
|
/* 0209C8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8B0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0209C8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209C8B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209C8BC */ cpu->lr = cpu->r[0];
|
|
/* 0209C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C8C4 */ return;
|
|
}
|
|
|
|
// fn_0209C85C @ 0x209c85c
|
|
void Gambit_fn_0209C85C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209C85C: ; // 0x209c85c
|
|
/* 0209C85C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209C85C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C85C */ cpu->r[1] = _t0;
|
|
/* 0209C860 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C860 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209C864 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209C868 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C868 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209C86C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0209C86C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209C870 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209C874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209C878 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0209C878 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0209C87C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C87C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C87C */ if (_t6) goto L_0209C8A4; else goto L_0209C880;
|
|
L_0209C880: ; // 0x209c880
|
|
/* 0209C880 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209C880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0209C884 */ /* nop */
|
|
/* 0209C888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0209C88C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C88C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209C88C */ if (_t9) goto L_0209C890; else goto L_0209C8A4;
|
|
L_0209C890: ; // 0x209c890
|
|
/* 0209C890 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0209C890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209C894 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0209C894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209C898 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C89C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209C8A4: ; // 0x209c8a4
|
|
/* 0209C8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8A8 */ Gambit_fn_0209C7D0(cpu);
|
|
/* 0209C8AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209C8B0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0209C8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0209C8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209C8B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209C8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209C8BC */ cpu->lr = cpu->r[0];
|
|
/* 0209C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209C8C4 */ return;
|
|
}
|
|
|
|
// fn_0209C8C8 @ 0x209c8c8
|
|
void Gambit_fn_0209C8C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_0209C8C8: ; // 0x209c8c8
|
|
/* 0209C8C8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0209C8C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209C8C8 */ cpu->r[1] = _t0;
|
|
/* 0209C8CC */ /* nop */
|
|
/* 0209C8D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209C8D4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0209C8D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209C8D8 */ cpu->r[29] = cpu->r[6];
|
|
/* 0209C8DC */ cpu->r[28] = cpu->r[3];
|
|
/* 0209C8E0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0209C8E4 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0209C8E4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209C8E8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0209C8EC */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0209C8EC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0209C8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209C8F4 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0209C8F4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0209C8F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C8F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209C8F8 */ if (_t6) goto L_0209C93C; else goto L_0209C8FC;
|
|
L_0209C8FC: ; // 0x209c8fc
|
|
/* 0209C8FC */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0209C8FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209C900 */ Gambit_fn_02826F20(cpu);
|
|
/* 0209C904 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209C904 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209C908 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0209C908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209C90C */ cpu->ctr = cpu->r[0];
|
|
/* 0209C910 */ cpu->r[5] = 0x00000004u;
|
|
/* 0209C914 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209C920 */ cpu->r[0] = cpu->r[27];
|
|
/* 0209C924 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C924 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209C924 */ if (_t11) goto L_0209C92C; else goto L_0209C928;
|
|
L_0209C928: ; // 0x209c928
|
|
/* 0209C928 */ cpu->r[0] = 0x00000001u;
|
|
L_0209C92C: ; // 0x209c92c
|
|
/* 0209C92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C930 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C930 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209C930 */ if (_t13) goto L_0209C93C; else goto L_0209C934;
|
|
L_0209C934: ; // 0x209c934
|
|
/* 0209C934 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0209C934 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0209C938 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0209C938 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0209C93C: ; // 0x209c93c
|
|
/* 0209C93C */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0209C93C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209C940 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209C944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0209C948 */ cpu->r[12] = cpu->r[0];
|
|
/* 0209C94C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C94C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209C94C */ if (_t18) goto L_0209C950; else goto L_0209C974;
|
|
L_0209C950: ; // 0x209c950
|
|
/* 0209C950 */ cpu->ctr = cpu->r[7];
|
|
/* 0209C954 */ cpu->r[10] = 0x00000000u;
|
|
L_0209C958: ; // 0x209c958
|
|
/* 0209C958 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0209C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209C95C */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0209C95C */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0209C960 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0209C964 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0209C964 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0209C968 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0209C96C */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0209C96C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0209C970 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209C970 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209C970 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0209C970 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209C970 */ if (_t25) goto L_0209C958; else goto L_0209C974;
|
|
L_0209C974: ; // 0x209c974
|
|
/* 0209C974 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0209C974 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0209C978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209C97C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C97C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0209C97C */ if (_t28) goto L_0209C9C0; else goto L_0209C980;
|
|
L_0209C980: ; // 0x209c980
|
|
/* 0209C980 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0209C980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209C984 */ Gambit_fn_02826F20(cpu);
|
|
/* 0209C988 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209C988 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0209C98C */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0209C98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0209C990 */ cpu->ctr = cpu->r[0];
|
|
/* 0209C994 */ cpu->r[5] = 0x00000004u;
|
|
/* 0209C998 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209C99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209C9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209C9A4 */ cpu->r[11] = cpu->r[27];
|
|
/* 0209C9A8 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C9A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0209C9A8 */ if (_t33) goto L_0209C9B0; else goto L_0209C9AC;
|
|
L_0209C9AC: ; // 0x209c9ac
|
|
/* 0209C9AC */ cpu->r[11] = 0x00000001u;
|
|
L_0209C9B0: ; // 0x209c9b0
|
|
/* 0209C9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209C9B4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209C9B4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0209C9B4 */ if (_t35) goto L_0209C9C0; else goto L_0209C9B8;
|
|
L_0209C9B8: ; // 0x209c9b8
|
|
/* 0209C9B8 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0209C9B8 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0209C9BC */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0209C9BC */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0209C9C0: ; // 0x209c9c0
|
|
/* 0209C9C0 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0209C9C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209C9C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209C9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0209C9CC */ cpu->r[12] = cpu->r[0];
|
|
/* 0209C9D0 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209C9D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209C9D0 */ if (_t40) goto L_0209C9D4; else goto L_0209C9F8;
|
|
L_0209C9D4: ; // 0x209c9d4
|
|
/* 0209C9D4 */ cpu->ctr = cpu->r[6];
|
|
/* 0209C9D8 */ cpu->r[9] = 0x00000000u;
|
|
L_0209C9DC: ; // 0x209c9dc
|
|
/* 0209C9DC */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0209C9DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0209C9E0 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0209C9E0 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0209C9E4 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0209C9E8 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0209C9E8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0209C9EC */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0209C9F0 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0209C9F0 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0209C9F4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209C9F4 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209C9F4 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0209C9F4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0209C9F4 */ if (_t47) goto L_0209C9DC; else goto L_0209C9F8;
|
|
L_0209C9F8: ; // 0x209c9f8
|
|
/* 0209C9F8 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0209C9F8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0209C9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209CA00 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CA00 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209CA00 */ if (_t50) goto L_0209CA44; else goto L_0209CA04;
|
|
L_0209CA04: ; // 0x209ca04
|
|
/* 0209CA04 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0209CA04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0209CA08 */ Gambit_fn_02826F20(cpu);
|
|
/* 0209CA0C */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209CA0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0209CA10 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0209CA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0209CA14 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CA18 */ cpu->r[5] = 0x00000004u;
|
|
/* 0209CA1C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CA20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209CA28 */ cpu->r[10] = cpu->r[27];
|
|
/* 0209CA2C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209CA2C */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209CA2C */ if (_t55) goto L_0209CA34; else goto L_0209CA30;
|
|
L_0209CA30: ; // 0x209ca30
|
|
/* 0209CA30 */ cpu->r[10] = 0x00000001u;
|
|
L_0209CA34: ; // 0x209ca34
|
|
/* 0209CA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CA38 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CA38 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209CA38 */ if (_t57) goto L_0209CA44; else goto L_0209CA3C;
|
|
L_0209CA3C: ; // 0x209ca3c
|
|
/* 0209CA3C */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0209CA3C */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0209CA40 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0209CA40 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0209CA44: ; // 0x209ca44
|
|
/* 0209CA44 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0209CA44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0209CA48 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209CA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209CA50 */ cpu->r[5] = cpu->r[0];
|
|
/* 0209CA54 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209CA54 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0209CA54 */ if (_t62) goto L_0209CA58; else goto L_0209CA7C;
|
|
L_0209CA58: ; // 0x209ca58
|
|
/* 0209CA58 */ cpu->ctr = cpu->r[12];
|
|
/* 0209CA5C */ cpu->r[8] = 0x00000000u;
|
|
L_0209CA60: ; // 0x209ca60
|
|
/* 0209CA60 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0209CA60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209CA64 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0209CA64 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0209CA68 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0209CA6C */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0209CA6C */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0209CA70 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0209CA74 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0209CA74 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0209CA78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209CA78 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209CA78 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0209CA78 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209CA78 */ if (_t69) goto L_0209CA60; else goto L_0209CA7C;
|
|
L_0209CA7C: ; // 0x209ca7c
|
|
/* 0209CA7C */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0209CA7C */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0209CA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209CA84 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CA84 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0209CA84 */ if (_t72) goto L_0209CB60; else goto L_0209CA88;
|
|
L_0209CA88: ; // 0x209ca88
|
|
/* 0209CA88 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0209CA88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209CA8C */ Gambit_fn_02826F20(cpu);
|
|
/* 0209CA90 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209CA90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0209CA94 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0209CA94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0209CA98 */ cpu->ctr = cpu->r[12];
|
|
/* 0209CA9C */ cpu->r[5] = 0x00000004u;
|
|
/* 0209CAA0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0209CAA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CAA8 */ cpu->r[24] = cpu->r[3];
|
|
/* 0209CAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209CAB0 */ cpu->r[30] = cpu->r[25];
|
|
/* 0209CAB4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0209CAB8 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209CAB8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209CAB8 */ if (_t77) goto L_0209CAC0; else goto L_0209CABC;
|
|
L_0209CABC: ; // 0x209cabc
|
|
/* 0209CABC */ cpu->r[30] = 0x00000001u;
|
|
L_0209CAC0: ; // 0x209cac0
|
|
/* 0209CAC0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0209CAC4 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0209CAC8 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0209CAC8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0209CACC */ cpu->r[23] = 0x00000018u;
|
|
L_0209CAD0: ; // 0x209cad0
|
|
/* 0209CAD0 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0209CAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209CAD4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CAD4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209CAD4 */ if (_t80) goto L_0209CB44; else goto L_0209CAD8;
|
|
L_0209CAD8: ; // 0x209cad8
|
|
/* 0209CAD8 */ cpu->r[26] = cpu->r[27];
|
|
/* 0209CAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209CADC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CADC */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209CADC */ if (_t82) goto L_0209CAE0; else goto L_0209CAF0;
|
|
L_0209CAE0: ; // 0x209cae0
|
|
/* 0209CAE0 */ cpu->r[3] = 0x00000024u;
|
|
/* 0209CAE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CAE8 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209CAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209CAEC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CAEC */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209CAEC */ if (_t84) goto L_0209CB38; else goto L_0209CAF0;
|
|
L_0209CAF0: ; // 0x209caf0
|
|
/* 0209CAF0 */ cpu->r[11] = cpu->r[26];
|
|
/* 0209CAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209CAF4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CAF4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209CAF4 */ if (_t86) goto L_0209CAF8; else goto L_0209CB08;
|
|
L_0209CAF8: ; // 0x209caf8
|
|
/* 0209CAF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209CAFC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CB00 */ cpu->r[11] = cpu->r[3];
|
|
/* 0209CB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209CB04 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CB04 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209CB04 */ if (_t88) goto L_0209CB24; else goto L_0209CB08;
|
|
L_0209CB08: ; // 0x209cb08
|
|
/* 0209CB08 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209CB0C */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0209CB0C */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0209CB10 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209CB14 */ cpu->r[5] = cpu->r[5] + 0x00001258u;
|
|
/* 0209CB18 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0209CB18 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0209CB1C */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0209CB1C */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0209CB20 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0209CB20 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0209CB24: ; // 0x209cb24
|
|
/* 0209CB24 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209CB28 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0209CB28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209CB2C */ cpu->r[6] = cpu->r[6] + 0x00001270u;
|
|
/* 0209CB30 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0209CB30 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0209CB34 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209CB34 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0209CB38: ; // 0x209cb38
|
|
/* 0209CB38 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209CB3C */ cpu->r[0] = cpu->r[0] + 0x00001288u;
|
|
/* 0209CB40 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0209CB40 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0209CB44: ; // 0x209cb44
|
|
/* 0209CB44 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0209CB44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209CB48 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0209CB4C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CB4C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0209CB4C */ if (_t98) goto L_0209CB50; else goto L_0209CAD0;
|
|
L_0209CB50: ; // 0x209cb50
|
|
/* 0209CB50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0209CB54 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CB54 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0209CB54 */ if (_t100) goto L_0209CB60; else goto L_0209CB58;
|
|
L_0209CB58: ; // 0x209cb58
|
|
/* 0209CB58 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0209CB58 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0209CB5C */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0209CB5C */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0209CB60: ; // 0x209cb60
|
|
/* 0209CB60 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0209CB60 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0209CB64 */ /* nop */
|
|
/* 0209CB68 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0209CB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209CB6C */ cpu->lr = cpu->r[0];
|
|
/* 0209CB70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0209CB74 */ return;
|
|
}
|
|
|
|
// fn_0209CB78 @ 0x209cb78
|
|
void Gambit_fn_0209CB78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0209CB78: ; // 0x209cb78
|
|
/* 0209CB78 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0209CB78 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0209CB7C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0209CB7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209CB80 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0209CB80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209CB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0209CB88 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0209CB88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209CB8C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CB8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209CB8C */ if (_t5) goto L_0209CB90; else goto L_0209CB98;
|
|
L_0209CB90: ; // 0x209cb90
|
|
/* 0209CB90 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CB94 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0209CB98: ; // 0x209cb98
|
|
/* 0209CB98 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0209CB98 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209CB9C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0209CB9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209CBA0 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0209CBA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0209CBA4 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0209CBA4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0209CBA8 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0209CBA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209CBAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0209CBB0 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0209CBB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CBB4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CBB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209CBB4 */ if (_t13) goto L_0209CBB8; else goto L_0209CBC0;
|
|
L_0209CBB8: ; // 0x209cbb8
|
|
/* 0209CBB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CBBC */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0209CBC0: ; // 0x209cbc0
|
|
/* 0209CBC0 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0209CBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209CBC4 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0209CBC4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0209CBC8 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0209CBC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CBCC */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0209CBCC */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0209CBD0 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0209CBD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209CBD4 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0209CBD4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0209CBD8 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0209CBD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209CBDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0209CBE0 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0209CBE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CBE4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CBE4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209CBE4 */ if (_t23) goto L_0209CBE8; else goto L_0209CBF0;
|
|
L_0209CBE8: ; // 0x209cbe8
|
|
/* 0209CBE8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CBEC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0209CBF0: ; // 0x209cbf0
|
|
/* 0209CBF0 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0209CBF0 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0209CBF4 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0209CBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209CBF8 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0209CBF8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0209CBFC */ return;
|
|
}
|
|
|
|
// fn_0209CC00 @ 0x209cc00
|
|
void Gambit_fn_0209CC00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209CC00: ; // 0x209cc00
|
|
/* 0209CC00 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209CC00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0209CC04 */ /* nop */
|
|
/* 0209CC08 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0209CC08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209CC0C */ cpu->r[7] = cpu->r[0];
|
|
/* 0209CC10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0209CC14 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0209CC14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209CC18 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CC18 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209CC18 */ if (_t4) goto L_0209CC1C; else goto L_0209CC34;
|
|
L_0209CC1C: ; // 0x209cc1c
|
|
/* 0209CC1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CC20 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0209CC24 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0209CC24 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0209CC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209CC2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CC2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209CC2C */ if (_t7) goto L_0209CC30; else goto L_0209CC40;
|
|
L_0209CC30: ; // 0x209cc30
|
|
/* 0209CC30 */ return;
|
|
L_0209CC34: ; // 0x209cc34
|
|
/* 0209CC34 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0209CC34 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0209CC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209CC3C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CC3C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209CC3C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209CC3C */ goto L_0209CC40;
|
|
L_0209CC40: ; // 0x209cc40
|
|
/* 0209CC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0209CC44 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0209CC44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CC48 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CC48 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209CC48 */ if (_t13) goto L_0209CC4C; else goto L_0209CC54;
|
|
L_0209CC4C: ; // 0x209cc4c
|
|
/* 0209CC4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CC50 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0209CC54: ; // 0x209cc54
|
|
/* 0209CC54 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0209CC54 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0209CC58 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0209CC58 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0209CC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0209CC60 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0209CC60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CC64 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0209CC68 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209CC68 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209CC68 */ if (_t18) goto L_0209CC80; else goto L_0209CC6C;
|
|
L_0209CC6C: ; // 0x209cc6c
|
|
/* 0209CC6C */ /* nop */
|
|
/* 0209CC70 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0209CC70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209CC74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0209CC78 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0209CC7C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0209CC7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0209CC80: ; // 0x209cc80
|
|
/* 0209CC80 */ cpu->ctr = cpu->r[11];
|
|
/* 0209CC84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209CC88 @ 0x209cc88
|
|
void Gambit_fn_0209CC88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209CC88: ; // 0x209cc88
|
|
/* 0209CC88 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CC8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CC8C */ cpu->r[1] = _t0;
|
|
/* 0209CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CC94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CC98 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CC9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CCA0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209CCA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0209CCA4 */ /* nop */
|
|
/* 0209CCA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0209CCAC */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CCB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CCB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209CCB0 */ if (_t6) goto L_0209CCB4; else goto L_0209CCC8;
|
|
L_0209CCB4: ; // 0x209ccb4
|
|
/* 0209CCB4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0209CCB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209CCB8 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0209CCB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209CCBC */ cpu->ctr = cpu->r[0];
|
|
/* 0209CCC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209CCC8: ; // 0x209ccc8
|
|
/* 0209CCC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCCC */ cpu->r[4] = cpu->r[31];
|
|
/* 0209CCD0 */ Gambit_fn_0209CC00(cpu);
|
|
/* 0209CCD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCD8 */ /* nop */
|
|
/* 0209CCDC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209CCE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCE4 */ Gambit_fn_0209C748(cpu);
|
|
/* 0209CCE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CCEC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CCEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209CCF0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CCF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CCF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CCFC */ return;
|
|
}
|
|
|
|
// fn_0209CC8C @ 0x209cc8c
|
|
void Gambit_fn_0209CC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209CC8C: ; // 0x209cc8c
|
|
/* 0209CC8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CC8C */ cpu->r[1] = _t0;
|
|
/* 0209CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CC94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CC98 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CC9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CCA0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209CCA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0209CCA4 */ /* nop */
|
|
/* 0209CCA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0209CCAC */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CCB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CCB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209CCB0 */ if (_t6) goto L_0209CCB4; else goto L_0209CCC8;
|
|
L_0209CCB4: ; // 0x209ccb4
|
|
/* 0209CCB4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0209CCB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209CCB8 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0209CCB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209CCBC */ cpu->ctr = cpu->r[0];
|
|
/* 0209CCC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209CCC8: ; // 0x209ccc8
|
|
/* 0209CCC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCCC */ cpu->r[4] = cpu->r[31];
|
|
/* 0209CCD0 */ Gambit_fn_0209CC00(cpu);
|
|
/* 0209CCD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCD8 */ /* nop */
|
|
/* 0209CCDC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0209CCE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209CCE4 */ Gambit_fn_0209C748(cpu);
|
|
/* 0209CCE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CCEC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CCEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209CCF0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CCF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CCF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CCFC */ return;
|
|
}
|
|
|
|
// fn_0209CD00 @ 0x209cd00
|
|
void Gambit_fn_0209CD00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24;
|
|
|
|
L_0209CD00: ; // 0x209cd00
|
|
/* 0209CD00 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CD04 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209CD04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CD04 */ cpu->r[1] = _t0;
|
|
/* 0209CD08 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CD08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209CD0C */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CD0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209CD10 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209CD14 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209CD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CD18 */ cpu->ctr = cpu->r[11];
|
|
/* 0209CD1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CD20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD24 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209CD28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD2C */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209CD30 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0209CD30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209CD34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD38 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CD3C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209CD40 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209CD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209CD44 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD48 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209CD48 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209CD4C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209CD54 */ if (_t9) goto L_0209CD5C; else goto L_0209CD58;
|
|
L_0209CD58: ; // 0x209cd58
|
|
/* 0209CD58 */ Gambit_fn_0209DF0C(cpu);
|
|
L_0209CD5C: ; // 0x209cd5c
|
|
/* 0209CD5C */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 0209CD5C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0209CD60 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CD64 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209CD68 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD74 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209CD80 */ if (_t14) goto L_0209CD88; else goto L_0209CD84;
|
|
L_0209CD84: ; // 0x209cd84
|
|
/* 0209CD84 */ Gambit_fn_0209D520(cpu);
|
|
L_0209CD88: ; // 0x209cd88
|
|
/* 0209CD88 */ _t15 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209CD88 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 0209CD8C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CD90 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209CD94 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDA0 */ cpu->r[3] = 0x00000290u;
|
|
/* 0209CDA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CDAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CDAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209CDAC */ if (_t19) goto L_0209CDB4; else goto L_0209CDB0;
|
|
L_0209CDB0: ; // 0x209cdb0
|
|
/* 0209CDB0 */ Gambit_fn_0209D860(cpu);
|
|
L_0209CDB4: ; // 0x209cdb4
|
|
/* 0209CDB4 */ _t20 = cpu->r[31] + 0x00000040u;
|
|
/* 0209CDB4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0209CDB8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CDBC */ _t22 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209CDC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CDC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CDC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDCC */ _t23 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209CDD0 */ _t24 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209CDD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209CDD8 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209CDDC */ return;
|
|
}
|
|
|
|
// fn_0209CD04 @ 0x209cd04
|
|
void Gambit_fn_0209CD04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24;
|
|
|
|
L_0209CD04: ; // 0x209cd04
|
|
/* 0209CD04 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209CD04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CD04 */ cpu->r[1] = _t0;
|
|
/* 0209CD08 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CD08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209CD0C */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CD0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209CD10 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209CD14 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209CD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CD18 */ cpu->ctr = cpu->r[11];
|
|
/* 0209CD1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CD20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD24 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209CD28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD2C */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209CD30 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0209CD30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209CD34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD38 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CD3C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209CD40 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209CD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209CD44 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD48 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209CD48 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209CD4C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209CD54 */ if (_t9) goto L_0209CD5C; else goto L_0209CD58;
|
|
L_0209CD58: ; // 0x209cd58
|
|
/* 0209CD58 */ Gambit_fn_0209DF0C(cpu);
|
|
L_0209CD5C: ; // 0x209cd5c
|
|
/* 0209CD5C */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 0209CD5C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0209CD60 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CD64 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209CD68 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD74 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209CD80 */ if (_t14) goto L_0209CD88; else goto L_0209CD84;
|
|
L_0209CD84: ; // 0x209cd84
|
|
/* 0209CD84 */ Gambit_fn_0209D520(cpu);
|
|
L_0209CD88: ; // 0x209cd88
|
|
/* 0209CD88 */ _t15 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209CD88 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 0209CD8C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CD90 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209CD94 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDA0 */ cpu->r[3] = 0x00000290u;
|
|
/* 0209CDA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CDAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CDAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209CDAC */ if (_t19) goto L_0209CDB4; else goto L_0209CDB0;
|
|
L_0209CDB0: ; // 0x209cdb0
|
|
/* 0209CDB0 */ Gambit_fn_0209D860(cpu);
|
|
L_0209CDB4: ; // 0x209cdb4
|
|
/* 0209CDB4 */ _t20 = cpu->r[31] + 0x00000040u;
|
|
/* 0209CDB4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0209CDB8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CDBC */ _t22 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209CDC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CDC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CDC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDCC */ _t23 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209CDD0 */ _t24 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209CDD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209CDD8 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209CDDC */ return;
|
|
}
|
|
|
|
// fn_0209CDE0 @ 0x209cde0
|
|
void Gambit_fn_0209CDE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24;
|
|
|
|
L_0209CD00: ; // 0x209cd00
|
|
/* 0209CD00 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CD04 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0209CD04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CD04 */ cpu->r[1] = _t0;
|
|
/* 0209CD08 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CD08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209CD0C */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CD0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209CD10 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209CD14 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0209CD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CD18 */ cpu->ctr = cpu->r[11];
|
|
/* 0209CD1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CD20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD24 */ cpu->r[4] = cpu->r[3];
|
|
/* 0209CD28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD2C */ Gambit_fn_026D6C54(cpu);
|
|
/* 0209CD30 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0209CD30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209CD34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD38 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CD3C */ Gambit_fn_026D6F40(cpu);
|
|
/* 0209CD40 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0209CD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209CD44 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD48 */ _t7 = cpu->r[1] + 0x00000084u;
|
|
/* 0209CD48 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209CD4C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209CD54 */ if (_t9) goto L_0209CD5C; else goto L_0209CD58;
|
|
L_0209CD58: ; // 0x209cd58
|
|
/* 0209CD58 */ Gambit_fn_0209DF0C(cpu);
|
|
L_0209CD5C: ; // 0x209cd5c
|
|
/* 0209CD5C */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 0209CD5C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0209CD60 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209CD64 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209CD68 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CD74 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209CD78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CD80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CD80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209CD80 */ if (_t14) goto L_0209CD88; else goto L_0209CD84;
|
|
L_0209CD84: ; // 0x209cd84
|
|
/* 0209CD84 */ Gambit_fn_0209D520(cpu);
|
|
L_0209CD88: ; // 0x209cd88
|
|
/* 0209CD88 */ _t15 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209CD88 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 0209CD8C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CD8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CD90 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209CD94 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CD98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CD9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDA0 */ cpu->r[3] = 0x00000290u;
|
|
/* 0209CDA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CDAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CDAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209CDAC */ if (_t19) goto L_0209CDB4; else goto L_0209CDB0;
|
|
L_0209CDB0: ; // 0x209cdb0
|
|
/* 0209CDB0 */ Gambit_fn_0209D860(cpu);
|
|
L_0209CDB4: ; // 0x209cdb4
|
|
/* 0209CDB4 */ _t20 = cpu->r[31] + 0x00000040u;
|
|
/* 0209CDB4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0209CDB8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CDBC */ _t22 = cpu->r[12] + 0x00000034u;
|
|
/* 0209CDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209CDC0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209CDC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209CDC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CDCC */ _t23 = cpu->r[1] + 0x000000BCu;
|
|
/* 0209CDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209CDD0 */ _t24 = cpu->r[1] + 0x000000B4u;
|
|
/* 0209CDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209CDD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209CDD8 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0209CDDC */ return;
|
|
L_0209CDE0: ; // 0x209cde0
|
|
/* 0209CDE0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CDE4 */ goto L_0209CD00;
|
|
}
|
|
|
|
// fn_0209CDE8 @ 0x209cde8
|
|
void Gambit_fn_0209CDE8(CPUState* cpu) {
|
|
L_0209CDE8: ; // 0x209cde8
|
|
/* 0209CDE8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CDEC */ goto L_0209D4BC;
|
|
L_0209D4BC: ; // 0x209d4bc
|
|
/* 0209D4BC */ return;
|
|
}
|
|
|
|
// fn_0209CDF0 @ 0x209cdf0
|
|
void Gambit_fn_0209CDF0(CPUState* cpu) {
|
|
L_0209CDF0: ; // 0x209cdf0
|
|
/* 0209CDF0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CDF4 */ goto L_0209D4C0;
|
|
L_0209D4C0: ; // 0x209d4c0
|
|
/* 0209D4C0 */ return;
|
|
}
|
|
|
|
// fn_0209CDF8 @ 0x209cdf8
|
|
void Gambit_fn_0209CDF8(CPUState* cpu) {
|
|
L_0209CDF8: ; // 0x209cdf8
|
|
/* 0209CDF8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CDFC */ goto L_0209D4C4;
|
|
L_0209D4C4: ; // 0x209d4c4
|
|
/* 0209D4C4 */ return;
|
|
}
|
|
|
|
// fn_0209CE00 @ 0x209ce00
|
|
void Gambit_fn_0209CE00(CPUState* cpu) {
|
|
L_0209CE00: ; // 0x209ce00
|
|
/* 0209CE00 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE04 */ goto L_0209D4C8;
|
|
L_0209D4C8: ; // 0x209d4c8
|
|
/* 0209D4C8 */ return;
|
|
}
|
|
|
|
// fn_0209CE08 @ 0x209ce08
|
|
void Gambit_fn_0209CE08(CPUState* cpu) {
|
|
L_0209CE08: ; // 0x209ce08
|
|
/* 0209CE08 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE0C */ goto L_0209D4CC;
|
|
L_0209D4CC: ; // 0x209d4cc
|
|
/* 0209D4CC */ return;
|
|
}
|
|
|
|
// fn_0209CE10 @ 0x209ce10
|
|
void Gambit_fn_0209CE10(CPUState* cpu) {
|
|
L_0209CE10: ; // 0x209ce10
|
|
/* 0209CE10 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE14 */ goto L_0209D4D0;
|
|
L_0209D4D0: ; // 0x209d4d0
|
|
/* 0209D4D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209D4D4 */ return;
|
|
}
|
|
|
|
// fn_0209CE18 @ 0x209ce18
|
|
void Gambit_fn_0209CE18(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209CE18: ; // 0x209ce18
|
|
/* 0209CE18 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE1C */ goto L_0209D4D8;
|
|
L_0209D4D8: ; // 0x209d4d8
|
|
/* 0209D4D8 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209D4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209D4DC */ return;
|
|
}
|
|
|
|
// fn_0209CE20 @ 0x209ce20
|
|
void Gambit_fn_0209CE20(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209CE20: ; // 0x209ce20
|
|
/* 0209CE20 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE24 */ goto L_0209D4E8;
|
|
L_0209D4E8: ; // 0x209d4e8
|
|
/* 0209D4E8 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209D4E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209D4EC */ return;
|
|
}
|
|
|
|
// fn_0209CE28 @ 0x209ce28
|
|
void Gambit_fn_0209CE28(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209CE28: ; // 0x209ce28
|
|
/* 0209CE28 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209CE2C */ goto L_0209D4F0;
|
|
L_0209D4F0: ; // 0x209d4f0
|
|
/* 0209D4F0 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209D4F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D4F4 */ return;
|
|
}
|
|
|
|
// fn_0209CE30 @ 0x209ce30
|
|
void Gambit_fn_0209CE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_0209CE30: ; // 0x209ce30
|
|
/* 0209CE30 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CE34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CE34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CE34 */ cpu->r[1] = _t0;
|
|
/* 0209CE38 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CE38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CE3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CE3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CE40 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209CE44 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209CE48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CE48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CE4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209CE4C */ if (_t5) goto L_0209CE50; else goto L_0209CE60;
|
|
L_0209CE50: ; // 0x209ce50
|
|
/* 0209CE50 */ cpu->r[3] = 0x00000044u;
|
|
/* 0209CE54 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CE58 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209CE5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209CE5C */ if (_t7) goto L_0209CEE4; else goto L_0209CE60;
|
|
L_0209CE60: ; // 0x209ce60
|
|
/* 0209CE60 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209CE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209CE68 */ cpu->r[5] = 0x00000020u;
|
|
/* 0209CE6C */ cpu->r[4] = cpu->r[4] + 0x00001400u;
|
|
/* 0209CE70 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209CE74 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209CE78 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209CE7C */ cpu->r[12] = cpu->r[12] + 0x00001410u;
|
|
/* 0209CE80 */ cpu->r[9] = cpu->r[9] + 0x00001498u;
|
|
/* 0209CE84 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209CE84 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0209CE88 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209CE8C */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 0209CE8C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209CE90 */ cpu->r[0] = cpu->r[0] + 0x00001488u;
|
|
/* 0209CE94 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209CE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CE98 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209CE98 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209CE9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209CE9C */ if (_t12) goto L_0209CEA0; else goto L_0209CEB0;
|
|
L_0209CEA0: ; // 0x209cea0
|
|
/* 0209CEA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209CEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CEAC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CEAC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209CEAC */ if (_t14) goto L_0209CED4; else goto L_0209CEB0;
|
|
L_0209CEB0: ; // 0x209ceb0
|
|
/* 0209CEB0 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209CEB4 */ cpu->r[10] = cpu->r[10] + 0x000013F0u;
|
|
/* 0209CEB8 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209CEB8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0209CEBC */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 0209CEBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CEC0 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CEC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0209CEC4 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0209CEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209CEC8 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0209CEC8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209CECC */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0209CECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209CED0 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0209CED0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0209CED4: ; // 0x209ced4
|
|
/* 0209CED4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0209CED8 */ _t22 = cpu->r[31] + 0x00000038u;
|
|
/* 0209CED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 0209CEDC */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209CEDC */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0209CEE0 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209CEE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
L_0209CEE4: ; // 0x209cee4
|
|
/* 0209CEE4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CEE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209CEE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209CEEC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CEEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209CEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CEF4 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CEF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209CEF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CEFC */ return;
|
|
}
|
|
|
|
// fn_0209CE34 @ 0x209ce34
|
|
void Gambit_fn_0209CE34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_0209CE34: ; // 0x209ce34
|
|
/* 0209CE34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CE34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CE34 */ cpu->r[1] = _t0;
|
|
/* 0209CE38 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CE38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CE3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CE3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CE40 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209CE44 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209CE48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CE48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CE4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209CE4C */ if (_t5) goto L_0209CE50; else goto L_0209CE60;
|
|
L_0209CE50: ; // 0x209ce50
|
|
/* 0209CE50 */ cpu->r[3] = 0x00000044u;
|
|
/* 0209CE54 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CE58 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209CE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209CE5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209CE5C */ if (_t7) goto L_0209CEE4; else goto L_0209CE60;
|
|
L_0209CE60: ; // 0x209ce60
|
|
/* 0209CE60 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209CE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209CE68 */ cpu->r[5] = 0x00000020u;
|
|
/* 0209CE6C */ cpu->r[4] = cpu->r[4] + 0x00001400u;
|
|
/* 0209CE70 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0209CE74 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209CE78 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209CE7C */ cpu->r[12] = cpu->r[12] + 0x00001410u;
|
|
/* 0209CE80 */ cpu->r[9] = cpu->r[9] + 0x00001498u;
|
|
/* 0209CE84 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0209CE84 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0209CE88 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209CE8C */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 0209CE8C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209CE90 */ cpu->r[0] = cpu->r[0] + 0x00001488u;
|
|
/* 0209CE94 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0209CE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CE98 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209CE98 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209CE9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CE9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209CE9C */ if (_t12) goto L_0209CEA0; else goto L_0209CEB0;
|
|
L_0209CEA0: ; // 0x209cea0
|
|
/* 0209CEA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209CEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209CEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209CEAC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CEAC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209CEAC */ if (_t14) goto L_0209CED4; else goto L_0209CEB0;
|
|
L_0209CEB0: ; // 0x209ceb0
|
|
/* 0209CEB0 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209CEB4 */ cpu->r[10] = cpu->r[10] + 0x000013F0u;
|
|
/* 0209CEB8 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209CEB8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0209CEBC */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 0209CEBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CEC0 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CEC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0209CEC4 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0209CEC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209CEC8 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0209CEC8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209CECC */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0209CECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209CED0 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0209CED0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0209CED4: ; // 0x209ced4
|
|
/* 0209CED4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0209CED8 */ _t22 = cpu->r[31] + 0x00000038u;
|
|
/* 0209CED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 0209CEDC */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0209CEDC */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0209CEE0 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209CEE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
L_0209CEE4: ; // 0x209cee4
|
|
/* 0209CEE4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CEE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209CEE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209CEEC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CEEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209CEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CEF4 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CEF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209CEF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CEFC */ return;
|
|
}
|
|
|
|
// fn_0209CF00 @ 0x209cf00
|
|
void Gambit_fn_0209CF00(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209CF00: ; // 0x209cf00
|
|
/* 0209CF00 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209CF00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209CF04 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209CF04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209CF08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209CF0C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209CF10 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209CF14 */ return;
|
|
}
|
|
|
|
// fn_0209CF18 @ 0x209cf18
|
|
void Gambit_fn_0209CF18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209CF18: ; // 0x209cf18
|
|
/* 0209CF18 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CF1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CF1C */ cpu->r[1] = _t0;
|
|
/* 0209CF20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CF20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CF24 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CF28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CF28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CF2C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209CF30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CF30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CF34 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209CF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CF38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CF3C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209CF40 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209CF44 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209CF48 */ _t6 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209CF48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0209CF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CF50 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CF50 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209CF50 */ if (_t8) goto L_0209CF64; else goto L_0209CF54;
|
|
L_0209CF54: ; // 0x209cf54
|
|
/* 0209CF54 */ _t9 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CF54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CF58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CF5C */ _t10 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209CF60 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CF64: ; // 0x209cf64
|
|
/* 0209CF64 */ _t11 = cpu->r[31] + 0x00000480u;
|
|
/* 0209CF64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209CF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CF6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CF6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209CF6C */ if (_t13) goto L_0209CF80; else goto L_0209CF70;
|
|
L_0209CF70: ; // 0x209cf70
|
|
/* 0209CF70 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CF70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209CF74 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CF78 */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209CF7C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CF80: ; // 0x209cf80
|
|
/* 0209CF80 */ _t16 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CF84 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CF84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209CF88 */ _t18 = cpu->r[11] + 0x00000164u;
|
|
/* 0209CF88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209CF8C */ cpu->ctr = cpu->r[12];
|
|
/* 0209CF90 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209CF94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CF98 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209CF9C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CF9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209CFA0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CFA4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CFA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CFAC */ return;
|
|
}
|
|
|
|
// fn_0209CF1C @ 0x209cf1c
|
|
void Gambit_fn_0209CF1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209CF1C: ; // 0x209cf1c
|
|
/* 0209CF1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CF1C */ cpu->r[1] = _t0;
|
|
/* 0209CF20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CF20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CF24 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CF28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CF28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CF2C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209CF30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CF30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CF34 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209CF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CF38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CF3C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209CF40 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209CF44 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209CF48 */ _t6 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209CF48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0209CF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CF50 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CF50 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209CF50 */ if (_t8) goto L_0209CF64; else goto L_0209CF54;
|
|
L_0209CF54: ; // 0x209cf54
|
|
/* 0209CF54 */ _t9 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CF54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CF58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CF5C */ _t10 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209CF60 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CF64: ; // 0x209cf64
|
|
/* 0209CF64 */ _t11 = cpu->r[31] + 0x00000480u;
|
|
/* 0209CF64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209CF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CF6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CF6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209CF6C */ if (_t13) goto L_0209CF80; else goto L_0209CF70;
|
|
L_0209CF70: ; // 0x209cf70
|
|
/* 0209CF70 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CF70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209CF74 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CF78 */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209CF7C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CF80: ; // 0x209cf80
|
|
/* 0209CF80 */ _t16 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CF80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209CF84 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209CF84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209CF88 */ _t18 = cpu->r[11] + 0x00000164u;
|
|
/* 0209CF88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209CF8C */ cpu->ctr = cpu->r[12];
|
|
/* 0209CF90 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209CF94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209CF98 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209CF9C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CF9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209CFA0 */ cpu->lr = cpu->r[0];
|
|
/* 0209CFA4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CFA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209CFA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209CFAC */ return;
|
|
}
|
|
|
|
// fn_0209CFB0 @ 0x209cfb0
|
|
void Gambit_fn_0209CFB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209CFB0: ; // 0x209cfb0
|
|
/* 0209CFB0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209CFB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CFB4 */ cpu->r[1] = _t0;
|
|
/* 0209CFB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CFB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CFBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CFBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CFC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CFC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CFC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CFC8 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CFCC */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CFD0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209CFD4 */ _t5 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209CFD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209CFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CFDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CFDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209CFDC */ if (_t7) goto L_0209CFF0; else goto L_0209CFE0;
|
|
L_0209CFE0: ; // 0x209cfe0
|
|
/* 0209CFE0 */ _t8 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CFE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209CFE4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CFE8 */ _t9 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CFE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CFEC */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CFF0: ; // 0x209cff0
|
|
/* 0209CFF0 */ _t10 = cpu->r[31] + 0x00000480u;
|
|
/* 0209CFF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0209CFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CFF8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CFF8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209CFF8 */ if (_t12) goto L_0209D00C; else goto L_0209CFFC;
|
|
L_0209CFFC: ; // 0x209cffc
|
|
/* 0209CFFC */ _t13 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CFFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209D000 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D004 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 0209D004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D008 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D00C: ; // 0x209d00c
|
|
/* 0209D00C */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 0209D00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D010 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D014 */ _t17 = cpu->r[11] + 0x0000018Cu;
|
|
/* 0209D014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D018 */ cpu->ctr = cpu->r[12];
|
|
/* 0209D01C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209D020 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D024 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D028 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D028 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D02C */ cpu->lr = cpu->r[0];
|
|
/* 0209D030 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D038 */ return;
|
|
}
|
|
|
|
// fn_0209CFB4 @ 0x209cfb4
|
|
void Gambit_fn_0209CFB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_0209CFB4: ; // 0x209cfb4
|
|
/* 0209CFB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209CFB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209CFB4 */ cpu->r[1] = _t0;
|
|
/* 0209CFB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209CFB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209CFBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209CFBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209CFC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209CFC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209CFC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209CFC8 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209CFCC */ cpu->r[31] = cpu->r[4];
|
|
/* 0209CFD0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209CFD4 */ _t5 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209CFD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209CFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CFDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CFDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209CFDC */ if (_t7) goto L_0209CFF0; else goto L_0209CFE0;
|
|
L_0209CFE0: ; // 0x209cfe0
|
|
/* 0209CFE0 */ _t8 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CFE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209CFE4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209CFE8 */ _t9 = cpu->r[30] + 0x00000038u;
|
|
/* 0209CFE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209CFEC */ Gambit_fn_027ECB34(cpu);
|
|
L_0209CFF0: ; // 0x209cff0
|
|
/* 0209CFF0 */ _t10 = cpu->r[31] + 0x00000480u;
|
|
/* 0209CFF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0209CFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209CFF8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209CFF8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0209CFF8 */ if (_t12) goto L_0209D00C; else goto L_0209CFFC;
|
|
L_0209CFFC: ; // 0x209cffc
|
|
/* 0209CFFC */ _t13 = cpu->r[30] + 0x00000028u;
|
|
/* 0209CFFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209D000 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D004 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 0209D004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D008 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D00C: ; // 0x209d00c
|
|
/* 0209D00C */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 0209D00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D010 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D014 */ _t17 = cpu->r[11] + 0x0000018Cu;
|
|
/* 0209D014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D018 */ cpu->ctr = cpu->r[12];
|
|
/* 0209D01C */ cpu->r[4] = cpu->r[31];
|
|
/* 0209D020 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D024 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D028 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D028 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D02C */ cpu->lr = cpu->r[0];
|
|
/* 0209D030 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D038 */ return;
|
|
}
|
|
|
|
// fn_0209D03C @ 0x209d03c
|
|
void Gambit_fn_0209D03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D03C: ; // 0x209d03c
|
|
/* 0209D03C */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D040 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D044 */ _t2 = cpu->r[12] + 0x00000194u;
|
|
/* 0209D044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D048 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D04C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D050 @ 0x209d050
|
|
void Gambit_fn_0209D050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209D050: ; // 0x209d050
|
|
/* 0209D050 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D054 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D054 */ cpu->r[1] = _t0;
|
|
/* 0209D058 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D058 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D05C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D060 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D064 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D064 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D068 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D06C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D074 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D074 */ if (_t5) goto L_0209D080; else goto L_0209D078;
|
|
L_0209D078: ; // 0x209d078
|
|
/* 0209D078 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D07C */ Gambit_fn_0209D03C(cpu);
|
|
L_0209D080: ; // 0x209d080
|
|
/* 0209D080 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0209D080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209D084 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D088 */ _t8 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D08C */ cpu->ctr = cpu->r[0];
|
|
/* 0209D090 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D094 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D098 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D09C */ cpu->lr = cpu->r[0];
|
|
/* 0209D0A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D0A4 */ return;
|
|
}
|
|
|
|
// fn_0209D054 @ 0x209d054
|
|
void Gambit_fn_0209D054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209D054: ; // 0x209d054
|
|
/* 0209D054 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D054 */ cpu->r[1] = _t0;
|
|
/* 0209D058 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D058 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D05C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D060 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D064 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D064 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D068 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D06C */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D074 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D074 */ if (_t5) goto L_0209D080; else goto L_0209D078;
|
|
L_0209D078: ; // 0x209d078
|
|
/* 0209D078 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D07C */ Gambit_fn_0209D03C(cpu);
|
|
L_0209D080: ; // 0x209d080
|
|
/* 0209D080 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0209D080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209D084 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D088 */ _t8 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D08C */ cpu->ctr = cpu->r[0];
|
|
/* 0209D090 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D094 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D098 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D09C */ cpu->lr = cpu->r[0];
|
|
/* 0209D0A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D0A4 */ return;
|
|
}
|
|
|
|
// fn_0209D0A8 @ 0x209d0a8
|
|
void Gambit_fn_0209D0A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D0A8: ; // 0x209d0a8
|
|
/* 0209D0A8 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D0AC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D0AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D0B0 */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D0B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D0B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D0BC @ 0x209d0bc
|
|
void Gambit_fn_0209D0BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0209D0BC: ; // 0x209d0bc
|
|
/* 0209D0BC */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D0C0 */ goto L_020BAE10;
|
|
L_020BAE10: ; // 0x20bae10
|
|
/* 020BAE10 */ cpu->r[0] = cpu->lr;
|
|
/* 020BAE14 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020BAE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020BAE14 */ cpu->r[1] = _t1;
|
|
/* 020BAE18 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 020BAE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020BAE1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BAE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 020BAE20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 020BAE20 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 020BAE24 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BAE24 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020BAE28 */ cpu->r[29] = cpu->r[3];
|
|
/* 020BAE2C */ _t6 = cpu->r[29] + 0x0000024Cu;
|
|
/* 020BAE2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020BAE30 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 020BAE30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020BAE34 */ _t8 = cpu->r[10] + 0x00000084u;
|
|
/* 020BAE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020BAE38 */ cpu->ctr = cpu->r[0];
|
|
/* 020BAE3C */ cpu->r[31] = cpu->r[4];
|
|
/* 020BAE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BAE44 */ _t9 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BAE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020BAE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020BAE4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE4C */ _t11 = _t10 & 0x00000001u;
|
|
/* 020BAE4C */ if (_t11) goto L_020BAE68; else goto L_020BAE50;
|
|
L_020BAE50: ; // 0x20bae50
|
|
/* 020BAE50 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 020BAE50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020BAE54 */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 020BAE54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020BAE58 */ cpu->ctr = cpu->r[11];
|
|
/* 020BAE5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BAE60 */ _t14 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BAE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020BAE64 */ Gambit_fn_020C3988(cpu);
|
|
L_020BAE68: ; // 0x20bae68
|
|
/* 020BAE68 */ _t15 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAE68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020BAE6C */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAE70 */ Gambit_fn_020BC540(cpu);
|
|
/* 020BAE74 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAE78 */ Gambit_fn_020BD008(cpu);
|
|
/* 020BAE7C */ _t16 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAE7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020BAE80 */ _t17 = cpu->r[29] + 0x0000021Cu;
|
|
/* 020BAE80 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 020BAE84 */ _t18 = cpu->r[31] + 0x0000047Cu;
|
|
/* 020BAE84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 020BAE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020BAE8C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE8C */ _t20 = _t19 & 0x00000001u;
|
|
/* 020BAE8C */ if (_t20) goto L_020BAF48; else goto L_020BAE90;
|
|
L_020BAE90: ; // 0x20bae90
|
|
/* 020BAE90 */ _t21 = cpu->r[31] + 0x00000444u;
|
|
/* 020BAE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020BAE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 020BAE98 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE98 */ _t23 = _t22 & 0x00000001u;
|
|
/* 020BAE98 */ if (_t23) goto L_020BAE9C; else goto L_020BAEE4;
|
|
L_020BAE9C: ; // 0x20bae9c
|
|
/* 020BAE9C */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAEA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAEA4 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020BAEAC */ _t24 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAEAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 020BAEB0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAEB4 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEB8 */ cpu->r[7] = cpu->r[3];
|
|
/* 020BAEBC */ cpu->r[5] = 0x00000002u;
|
|
/* 020BAEC0 */ cpu->r[6] = cpu->r[30];
|
|
/* 020BAEC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAEC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAECC */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAECC */ _t26 = _t25 & 0x00000001u;
|
|
/* 020BAECC */ if (_t26) goto L_020BAED0; // else: addr-0 trap, fall-through
|
|
L_020BAED0: ; // 0x20baed0
|
|
/* 020BAED0 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAED4 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAED8 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAEDC */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAEE0 */ goto L_020BAF68;
|
|
L_020BAEE4: ; // 0x20baee4
|
|
/* 020BAEE4 */ _t27 = cpu->r[31] + 0x00000444u;
|
|
/* 020BAEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 020BAEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 020BAEEC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAEEC */ _t29 = _t28 & 0x00000001u;
|
|
/* 020BAEEC */ if (_t29) goto L_020BAEF0; else goto L_020BAF24;
|
|
L_020BAEF0: ; // 0x20baef0
|
|
/* 020BAEF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAEF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAEF8 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEFC */ cpu->r[6] = cpu->r[3];
|
|
/* 020BAF00 */ cpu->r[5] = 0x00000001u;
|
|
/* 020BAF04 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAF08 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF0C */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF0C */ _t31 = _t30 & 0x00000001u;
|
|
/* 020BAF0C */ if (_t31) goto L_020BAF10; // else: addr-0 trap, fall-through
|
|
L_020BAF10: ; // 0x20baf10
|
|
/* 020BAF10 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF14 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF18 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF1C */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAF20 */ goto L_020BAF68;
|
|
L_020BAF24: ; // 0x20baf24
|
|
/* 020BAF24 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAF28 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAF2C */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF30 */ _t32 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF30 */ _t33 = _t32 & 0x00000001u;
|
|
/* 020BAF30 */ if (_t33) goto L_020BAF34; // else: addr-0 trap, fall-through
|
|
L_020BAF34: ; // 0x20baf34
|
|
/* 020BAF34 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF38 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF3C */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF40 */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAF44 */ goto L_020BAF68;
|
|
L_020BAF48: ; // 0x20baf48
|
|
/* 020BAF48 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAF4C */ cpu->r[4] = cpu->r[31] + 0x00000488u;
|
|
/* 020BAF50 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF54 */ _t34 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF54 */ _t35 = _t34 & 0x00000001u;
|
|
/* 020BAF54 */ if (_t35) goto L_020BAF58; // else: addr-0 trap, fall-through
|
|
L_020BAF58: ; // 0x20baf58
|
|
/* 020BAF58 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF5C */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF60 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF64 */ Gambit_fn_020540A8(cpu);
|
|
L_020BAF68: ; // 0x20baf68
|
|
/* 020BAF68 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BAF68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 020BAF6C */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BAF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020BAF70 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 020BAF70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 020BAF74 */ cpu->lr = cpu->r[0];
|
|
/* 020BAF78 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 020BAF78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 020BAF7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020BAF80 */ return;
|
|
}
|
|
|
|
// fn_0209D0C4 @ 0x209d0c4
|
|
void Gambit_fn_0209D0C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D0C4: ; // 0x209d0c4
|
|
/* 0209D0C4 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D0C8 */ goto L_020BADFC;
|
|
L_020BADFC: ; // 0x20badfc
|
|
/* 020BADFC */ _t1 = cpu->r[3] + 0x0000024Cu;
|
|
/* 020BADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020BAE00 */ _t2 = cpu->r[12] + 0x000012FCu;
|
|
/* 020BAE00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020BAE04 */ return;
|
|
}
|
|
|
|
// fn_0209D0CC @ 0x209d0cc
|
|
void Gambit_fn_0209D0CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209D0CC: ; // 0x209d0cc
|
|
/* 0209D0CC */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D0D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209D0D4 */ _t1 = cpu->r[12] + 0x00000280u;
|
|
/* 0209D0D4 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 0209D0D8 */ return;
|
|
}
|
|
|
|
// fn_0209D0DC @ 0x209d0dc
|
|
void Gambit_fn_0209D0DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D0DC: ; // 0x209d0dc
|
|
/* 0209D0DC */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D0E0 */ goto L_020BB008;
|
|
L_020BB008: ; // 0x20bb008
|
|
/* 020BB008 */ _t1 = cpu->r[3] + 0x0000027Cu;
|
|
/* 020BB008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020BB00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020BB010 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BB010 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020BB010 */ if (_t3) goto L_020BB024; else goto L_020BB014;
|
|
L_020BB014: ; // 0x20bb014
|
|
/* 020BB014 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 020BB014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020BB018 */ _t5 = cpu->r[12] + 0x000000DCu;
|
|
/* 020BB018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020BB01C */ cpu->ctr = cpu->r[0];
|
|
/* 020BB020 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_020BB024: ; // 0x20bb024
|
|
/* 020BB024 */ cpu->r[3] = 0x00000000u;
|
|
/* 020BB028 */ return;
|
|
}
|
|
|
|
// fn_0209D0E4 @ 0x209d0e4
|
|
void Gambit_fn_0209D0E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D0E4: ; // 0x209d0e4
|
|
/* 0209D0E4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D0E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D0EC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D0EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D0EC */ cpu->r[1] = _t1;
|
|
/* 0209D0F0 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D0F4 */ _t3 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D0F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D0FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D0FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D100 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D104 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D108 */ cpu->lr = cpu->r[0];
|
|
/* 0209D10C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D110 */ return;
|
|
}
|
|
|
|
// fn_0209D0EC @ 0x209d0ec
|
|
void Gambit_fn_0209D0EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0209D0EC: ; // 0x209d0ec
|
|
/* 0209D0EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D0EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D0EC */ cpu->r[1] = _t0;
|
|
/* 0209D0F0 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D0F4 */ _t2 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D0F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D0F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D0FC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D100 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D104 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D108 */ cpu->lr = cpu->r[0];
|
|
/* 0209D10C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D110 */ return;
|
|
}
|
|
|
|
// fn_0209D114 @ 0x209d114
|
|
void Gambit_fn_0209D114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D114: ; // 0x209d114
|
|
/* 0209D114 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D118 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D118 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D11C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D11C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D11C */ cpu->r[1] = _t1;
|
|
/* 0209D120 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D124 */ _t3 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D128 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D12C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D12C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D130 */ Gambit_fn_0209DFC0(cpu);
|
|
/* 0209D134 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D138 */ cpu->lr = cpu->r[0];
|
|
/* 0209D13C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D140 */ return;
|
|
}
|
|
|
|
// fn_0209D11C @ 0x209d11c
|
|
void Gambit_fn_0209D11C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0209D11C: ; // 0x209d11c
|
|
/* 0209D11C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D11C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D11C */ cpu->r[1] = _t0;
|
|
/* 0209D120 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D124 */ _t2 = cpu->r[3] + 0x00000038u;
|
|
/* 0209D124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D128 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D12C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D12C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D130 */ Gambit_fn_0209DFC0(cpu);
|
|
/* 0209D134 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D138 */ cpu->lr = cpu->r[0];
|
|
/* 0209D13C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D140 */ return;
|
|
}
|
|
|
|
// fn_0209D144 @ 0x209d144
|
|
void Gambit_fn_0209D144(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209D144: ; // 0x209d144
|
|
/* 0209D144 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D148 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209D148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D14C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209D150 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209D154 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209D158 */ return;
|
|
}
|
|
|
|
// fn_0209D15C @ 0x209d15c
|
|
void Gambit_fn_0209D15C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209D15C: ; // 0x209d15c
|
|
/* 0209D15C */ cpu->r[0] = cpu->lr;
|
|
/* 0209D160 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D160 */ cpu->r[1] = _t0;
|
|
/* 0209D164 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D168 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D16C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D16C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D170 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D174 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D174 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D178 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D17C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D180 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D184 */ _t5 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D188 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209D18C */ _t6 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209D18C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0209D190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D194 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D194 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209D194 */ if (_t8) goto L_0209D1A8; else goto L_0209D198;
|
|
L_0209D198: ; // 0x209d198
|
|
/* 0209D198 */ _t9 = cpu->r[30] + 0x00000028u;
|
|
/* 0209D198 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D19C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D1A0 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D1A4 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D1A8: ; // 0x209d1a8
|
|
/* 0209D1A8 */ _t11 = cpu->r[31] + 0x00000480u;
|
|
/* 0209D1A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209D1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D1B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D1B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D1B0 */ if (_t13) goto L_0209D1C4; else goto L_0209D1B4;
|
|
L_0209D1B4: ; // 0x209d1b4
|
|
/* 0209D1B4 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 0209D1B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D1B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D1BC */ _t15 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D1C0 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D1C4: ; // 0x209d1c4
|
|
/* 0209D1C4 */ _t16 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D1C8 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D1CC */ _t18 = cpu->r[11] + 0x00000164u;
|
|
/* 0209D1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D1D0 */ cpu->ctr = cpu->r[12];
|
|
/* 0209D1D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209D1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D1DC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D1E0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D1E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D1E4 */ cpu->lr = cpu->r[0];
|
|
/* 0209D1E8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D1E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209D1EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D1F0 */ return;
|
|
}
|
|
|
|
// fn_0209D160 @ 0x209d160
|
|
void Gambit_fn_0209D160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0209D160: ; // 0x209d160
|
|
/* 0209D160 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D160 */ cpu->r[1] = _t0;
|
|
/* 0209D164 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D164 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D168 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D16C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D16C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D170 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D174 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D174 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D178 */ _t4 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D17C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D180 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D184 */ _t5 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D188 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209D18C */ _t6 = cpu->r[31] + 0x0000047Fu;
|
|
/* 0209D18C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0209D190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D194 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D194 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209D194 */ if (_t8) goto L_0209D1A8; else goto L_0209D198;
|
|
L_0209D198: ; // 0x209d198
|
|
/* 0209D198 */ _t9 = cpu->r[30] + 0x00000028u;
|
|
/* 0209D198 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D19C */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D1A0 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D1A4 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D1A8: ; // 0x209d1a8
|
|
/* 0209D1A8 */ _t11 = cpu->r[31] + 0x00000480u;
|
|
/* 0209D1A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209D1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D1B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D1B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D1B0 */ if (_t13) goto L_0209D1C4; else goto L_0209D1B4;
|
|
L_0209D1B4: ; // 0x209d1b4
|
|
/* 0209D1B4 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 0209D1B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D1B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D1BC */ _t15 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D1C0 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D1C4: ; // 0x209d1c4
|
|
/* 0209D1C4 */ _t16 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0209D1C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D1C8 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D1CC */ _t18 = cpu->r[11] + 0x00000164u;
|
|
/* 0209D1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D1D0 */ cpu->ctr = cpu->r[12];
|
|
/* 0209D1D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0209D1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D1DC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D1E0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D1E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D1E4 */ cpu->lr = cpu->r[0];
|
|
/* 0209D1E8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D1E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209D1EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D1F0 */ return;
|
|
}
|
|
|
|
// fn_0209D1F4 @ 0x209d1f4
|
|
void Gambit_fn_0209D1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D1F4: ; // 0x209d1f4
|
|
/* 0209D1F4 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D1F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D1F8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D1F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D1FC */ _t2 = cpu->r[12] + 0x00000194u;
|
|
/* 0209D1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D200 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D204 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D208 @ 0x209d208
|
|
void Gambit_fn_0209D208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209D208: ; // 0x209d208
|
|
/* 0209D208 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D20C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D20C */ cpu->r[1] = _t0;
|
|
/* 0209D210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D214 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D218 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D21C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D21C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D220 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D224 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D22C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D22C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D22C */ if (_t5) goto L_0209D238; else goto L_0209D230;
|
|
L_0209D230: ; // 0x209d230
|
|
/* 0209D230 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D234 */ Gambit_fn_0209D1F4(cpu);
|
|
L_0209D238: ; // 0x209d238
|
|
/* 0209D238 */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209D238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209D23C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D23C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D240 */ _t8 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D244 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D24C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D24C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D250 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D254 */ cpu->lr = cpu->r[0];
|
|
/* 0209D258 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D25C */ return;
|
|
}
|
|
|
|
// fn_0209D20C @ 0x209d20c
|
|
void Gambit_fn_0209D20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0209D20C: ; // 0x209d20c
|
|
/* 0209D20C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D20C */ cpu->r[1] = _t0;
|
|
/* 0209D210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D214 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D218 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0209D21C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D21C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D220 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0209D220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D224 */ Gambit_fn_0206C030(cpu);
|
|
/* 0209D228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D22C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D22C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D22C */ if (_t5) goto L_0209D238; else goto L_0209D230;
|
|
L_0209D230: ; // 0x209d230
|
|
/* 0209D230 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D234 */ Gambit_fn_0209D1F4(cpu);
|
|
L_0209D238: ; // 0x209d238
|
|
/* 0209D238 */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0209D238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209D23C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D23C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D240 */ _t8 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D244 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D24C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D24C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D250 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D254 */ cpu->lr = cpu->r[0];
|
|
/* 0209D258 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D25C */ return;
|
|
}
|
|
|
|
// fn_0209D260 @ 0x209d260
|
|
void Gambit_fn_0209D260(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0209D260: ; // 0x209d260
|
|
/* 0209D260 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D260 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D264 */ goto L_020BAE10;
|
|
L_020BAE10: ; // 0x20bae10
|
|
/* 020BAE10 */ cpu->r[0] = cpu->lr;
|
|
/* 020BAE14 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020BAE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020BAE14 */ cpu->r[1] = _t1;
|
|
/* 020BAE18 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 020BAE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020BAE1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BAE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 020BAE20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 020BAE20 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 020BAE24 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BAE24 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020BAE28 */ cpu->r[29] = cpu->r[3];
|
|
/* 020BAE2C */ _t6 = cpu->r[29] + 0x0000024Cu;
|
|
/* 020BAE2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020BAE30 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 020BAE30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020BAE34 */ _t8 = cpu->r[10] + 0x00000084u;
|
|
/* 020BAE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020BAE38 */ cpu->ctr = cpu->r[0];
|
|
/* 020BAE3C */ cpu->r[31] = cpu->r[4];
|
|
/* 020BAE40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BAE44 */ _t9 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BAE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020BAE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020BAE4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE4C */ _t11 = _t10 & 0x00000001u;
|
|
/* 020BAE4C */ if (_t11) goto L_020BAE68; else goto L_020BAE50;
|
|
L_020BAE50: ; // 0x20bae50
|
|
/* 020BAE50 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 020BAE50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020BAE54 */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 020BAE54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020BAE58 */ cpu->ctr = cpu->r[11];
|
|
/* 020BAE5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BAE60 */ _t14 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BAE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020BAE64 */ Gambit_fn_020C3988(cpu);
|
|
L_020BAE68: ; // 0x20bae68
|
|
/* 020BAE68 */ _t15 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAE68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020BAE6C */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAE70 */ Gambit_fn_020BC540(cpu);
|
|
/* 020BAE74 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAE78 */ Gambit_fn_020BD008(cpu);
|
|
/* 020BAE7C */ _t16 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAE7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020BAE80 */ _t17 = cpu->r[29] + 0x0000021Cu;
|
|
/* 020BAE80 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 020BAE84 */ _t18 = cpu->r[31] + 0x0000047Cu;
|
|
/* 020BAE84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 020BAE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020BAE8C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE8C */ _t20 = _t19 & 0x00000001u;
|
|
/* 020BAE8C */ if (_t20) goto L_020BAF48; else goto L_020BAE90;
|
|
L_020BAE90: ; // 0x20bae90
|
|
/* 020BAE90 */ _t21 = cpu->r[31] + 0x00000444u;
|
|
/* 020BAE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020BAE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 020BAE98 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAE98 */ _t23 = _t22 & 0x00000001u;
|
|
/* 020BAE98 */ if (_t23) goto L_020BAE9C; else goto L_020BAEE4;
|
|
L_020BAE9C: ; // 0x20bae9c
|
|
/* 020BAE9C */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAEA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAEA4 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 020BAEAC */ _t24 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAEAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 020BAEB0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAEB4 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEB8 */ cpu->r[7] = cpu->r[3];
|
|
/* 020BAEBC */ cpu->r[5] = 0x00000002u;
|
|
/* 020BAEC0 */ cpu->r[6] = cpu->r[30];
|
|
/* 020BAEC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAEC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAECC */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAECC */ _t26 = _t25 & 0x00000001u;
|
|
/* 020BAECC */ if (_t26) goto L_020BAED0; // else: addr-0 trap, fall-through
|
|
L_020BAED0: ; // 0x20baed0
|
|
/* 020BAED0 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAED4 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAED8 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAEDC */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAEE0 */ goto L_020BAF68;
|
|
L_020BAEE4: ; // 0x20baee4
|
|
/* 020BAEE4 */ _t27 = cpu->r[31] + 0x00000444u;
|
|
/* 020BAEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 020BAEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 020BAEEC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAEEC */ _t29 = _t28 & 0x00000001u;
|
|
/* 020BAEEC */ if (_t29) goto L_020BAEF0; else goto L_020BAF24;
|
|
L_020BAEF0: ; // 0x20baef0
|
|
/* 020BAEF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAEF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAEF8 */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAEFC */ cpu->r[6] = cpu->r[3];
|
|
/* 020BAF00 */ cpu->r[5] = 0x00000001u;
|
|
/* 020BAF04 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAF08 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF0C */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF0C */ _t31 = _t30 & 0x00000001u;
|
|
/* 020BAF0C */ if (_t31) goto L_020BAF10; // else: addr-0 trap, fall-through
|
|
L_020BAF10: ; // 0x20baf10
|
|
/* 020BAF10 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF14 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF18 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF1C */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAF20 */ goto L_020BAF68;
|
|
L_020BAF24: ; // 0x20baf24
|
|
/* 020BAF24 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAF28 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAF2C */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF30 */ _t32 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF30 */ _t33 = _t32 & 0x00000001u;
|
|
/* 020BAF30 */ if (_t33) goto L_020BAF34; // else: addr-0 trap, fall-through
|
|
L_020BAF34: ; // 0x20baf34
|
|
/* 020BAF34 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF38 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF3C */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF40 */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAF44 */ goto L_020BAF68;
|
|
L_020BAF48: ; // 0x20baf48
|
|
/* 020BAF48 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAF4C */ cpu->r[4] = cpu->r[31] + 0x00000488u;
|
|
/* 020BAF50 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAF54 */ _t34 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAF54 */ _t35 = _t34 & 0x00000001u;
|
|
/* 020BAF54 */ if (_t35) goto L_020BAF58; // else: addr-0 trap, fall-through
|
|
L_020BAF58: ; // 0x20baf58
|
|
/* 020BAF58 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAF5C */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAF60 */ cpu->r[4] = 0x00000002u;
|
|
/* 020BAF64 */ Gambit_fn_020540A8(cpu);
|
|
L_020BAF68: ; // 0x20baf68
|
|
/* 020BAF68 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BAF68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 020BAF6C */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BAF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 020BAF70 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 020BAF70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 020BAF74 */ cpu->lr = cpu->r[0];
|
|
/* 020BAF78 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 020BAF78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 020BAF7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020BAF80 */ return;
|
|
}
|
|
|
|
// fn_0209D270 @ 0x209d270
|
|
void Gambit_fn_0209D270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209D270: ; // 0x209d270
|
|
/* 0209D270 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D270 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D274 */ goto L_020BADF4;
|
|
L_020BADF4: ; // 0x20badf4
|
|
/* 020BADF4 */ _t1 = cpu->r[3] + 0x0000024Cu;
|
|
/* 020BADF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020BADF8 */ goto L_020D9830;
|
|
L_020D9830: ; // 0x20d9830
|
|
/* 020D9830 */ _t2 = cpu->r[3] + 0x00001304u;
|
|
/* 020D9830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020D9834 */ _t3 = cpu->r[3] + 0x000012FCu;
|
|
/* 020D9834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020D9838 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 020D983C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 020D9840 */ /* nop */
|
|
/* 020D9844 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 020D9848 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 020D984C */ return;
|
|
}
|
|
|
|
// fn_0209D278 @ 0x209d278
|
|
void Gambit_fn_0209D278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D278: ; // 0x209d278
|
|
/* 0209D278 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D278 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D27C */ goto L_020BAE08;
|
|
L_020BAE08: ; // 0x20bae08
|
|
/* 020BAE08 */ _t1 = cpu->r[3] + 0x0000024Cu;
|
|
/* 020BAE08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020BAE0C */ goto L_020D8E9C;
|
|
L_020D8E9C: ; // 0x20d8e9c
|
|
/* 020D8E9C */ _t2 = cpu->r[3] + 0x000001E8u;
|
|
/* 020D8E9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 020D8EA0 */ /* nop */
|
|
/* 020D8EA4 */ cpu->r[0] = cpu->r[0] ^ 0x00000002u;
|
|
/* 020D8EA8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 020D8EAC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 020D8EB0 */ return;
|
|
}
|
|
|
|
// fn_0209D280 @ 0x209d280
|
|
void Gambit_fn_0209D280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D280: ; // 0x209d280
|
|
/* 0209D280 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D284 */ goto L_020BB008;
|
|
L_020BB008: ; // 0x20bb008
|
|
/* 020BB008 */ _t1 = cpu->r[3] + 0x0000027Cu;
|
|
/* 020BB008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 020BB00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020BB010 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BB010 */ _t3 = _t2 & 0x00000001u;
|
|
/* 020BB010 */ if (_t3) goto L_020BB024; else goto L_020BB014;
|
|
L_020BB014: ; // 0x20bb014
|
|
/* 020BB014 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 020BB014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020BB018 */ _t5 = cpu->r[12] + 0x000000DCu;
|
|
/* 020BB018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020BB01C */ cpu->ctr = cpu->r[0];
|
|
/* 020BB020 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_020BB024: ; // 0x20bb024
|
|
/* 020BB024 */ cpu->r[3] = 0x00000000u;
|
|
/* 020BB028 */ return;
|
|
}
|
|
|
|
// fn_0209D288 @ 0x209d288
|
|
void Gambit_fn_0209D288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D288: ; // 0x209d288
|
|
/* 0209D288 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D28C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D28C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D290 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D290 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D290 */ cpu->r[1] = _t1;
|
|
/* 0209D294 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D298 */ _t3 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D29C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D2A0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D2A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D2A4 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D2A8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D2AC */ cpu->lr = cpu->r[0];
|
|
/* 0209D2B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D2B4 */ return;
|
|
}
|
|
|
|
// fn_0209D290 @ 0x209d290
|
|
void Gambit_fn_0209D290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0209D290: ; // 0x209d290
|
|
/* 0209D290 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D290 */ cpu->r[1] = _t0;
|
|
/* 0209D294 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D298 */ _t2 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D29C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D2A0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D2A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D2A4 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D2A8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D2AC */ cpu->lr = cpu->r[0];
|
|
/* 0209D2B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D2B4 */ return;
|
|
}
|
|
|
|
// fn_0209D2B8 @ 0x209d2b8
|
|
void Gambit_fn_0209D2B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_0209D2B8: ; // 0x209d2b8
|
|
/* 0209D2B8 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0209D2B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D2BC */ goto L_020BB0EC;
|
|
L_020A8300: ; // 0x20a8300
|
|
/* 020A8300 */ cpu->r[0] = cpu->lr;
|
|
/* 020A8304 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020A8304 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020A8304 */ cpu->r[1] = _t1;
|
|
/* 020A8308 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 020A8308 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020A830C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 020A830C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 020A8310 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A8310 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 020A8314 */ cpu->r[28] = cpu->r[3];
|
|
/* 020A8318 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 020A8318 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 020A831C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020A831C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 020A8320 */ cpu->r[29] = cpu->r[4];
|
|
/* 020A8324 */ _t7 = cpu->r[28] + 0x00000008u;
|
|
/* 020A8324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020A8328 */ cpu->r[30] = 0x00000000u;
|
|
/* 020A832C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 020A8330 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A8330 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020A8330 */ if (_t9) goto L_020A8334; else goto L_020A8368;
|
|
L_020A8334: ; // 0x20a8334
|
|
/* 020A8334 */ cpu->r[31] = 0x00000000u;
|
|
L_020A8338: ; // 0x20a8338
|
|
/* 020A8338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 020A833C */ cpu->r[3] = 0x00000000u;
|
|
/* 020A8340 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A8340 */ _t11 = _t10 & 0x00000001u;
|
|
/* 020A8340 */ if (_t11) goto L_020A8344; else goto L_020A834C;
|
|
L_020A8344: ; // 0x20a8344
|
|
/* 020A8344 */ _t12 = cpu->r[28] + 0x00000010u;
|
|
/* 020A8344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020A8348 */ _t13 = cpu->r[12] + cpu->r[31];
|
|
/* 020A8348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
L_020A834C: ; // 0x20a834c
|
|
/* 020A834C */ cpu->r[4] = cpu->r[29];
|
|
/* 020A8350 */ Gambit_fn_027FE488(cpu);
|
|
/* 020A8354 */ _t14 = cpu->r[28] + 0x00000008u;
|
|
/* 020A8354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020A8358 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 020A835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 020A8360 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 020A8364 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A8364 */ _t16 = _t15 & 0x00000001u;
|
|
/* 020A8364 */ if (_t16) goto L_020A8338; else goto L_020A8368;
|
|
L_020A8368: ; // 0x20a8368
|
|
/* 020A8368 */ cpu->r[3] = cpu->r[28];
|
|
/* 020A836C */ Gambit_fn_020A7E10(cpu);
|
|
/* 020A8370 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 020A8370 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020A8374 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A8374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020A8378 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020A8378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 020A837C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 020A837C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 020A8380 */ cpu->lr = cpu->r[0];
|
|
/* 020A8384 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 020A8384 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020A8388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020A838C */ return;
|
|
L_020BB0EC: ; // 0x20bb0ec
|
|
/* 020BB0EC */ _t22 = cpu->r[3] + 0x00000284u;
|
|
/* 020BB0EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020BB0F0 */ goto L_020A8300;
|
|
}
|
|
|
|
// fn_0209D2C0 @ 0x209d2c0
|
|
void Gambit_fn_0209D2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209D2C0: ; // 0x209d2c0
|
|
/* 0209D2C0 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D2C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D2C4 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0209D2C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D2C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0209D2CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209D2D0 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0209D2D4 */ return;
|
|
}
|
|
|
|
// fn_0209D2D8 @ 0x209d2d8
|
|
void Gambit_fn_0209D2D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
|
|
L_0209D2D8: ; // 0x209d2d8
|
|
/* 0209D2D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D2DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D2DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D2DC */ cpu->r[1] = _t0;
|
|
/* 0209D2E0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D2E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D2E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D2E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D2E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209D2EC */ cpu->r[30] = cpu->r[4];
|
|
/* 0209D2F0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D2F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209D2F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D2F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D2F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209D2FC */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0209D300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D304 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D304 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D304 */ if (_t6) goto L_0209D308; else goto L_0209D31C;
|
|
L_0209D308: ; // 0x209d308
|
|
/* 0209D308 */ _t7 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D30C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D310 */ _t9 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D314 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209D31C: ; // 0x209d31c
|
|
/* 0209D31C */ _t10 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D31C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D320 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209D324 */ _t11 = cpu->r[30] + 0x0000047Fu;
|
|
/* 0209D324 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209D328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209D32C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D32C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D32C */ if (_t13) goto L_0209D340; else goto L_0209D330;
|
|
L_0209D330: ; // 0x209d330
|
|
/* 0209D330 */ _t14 = cpu->r[29] + 0x00000028u;
|
|
/* 0209D330 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D334 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D338 */ _t15 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D338 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D33C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D340: ; // 0x209d340
|
|
/* 0209D340 */ _t16 = cpu->r[30] + 0x00000480u;
|
|
/* 0209D340 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0209D344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D348 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D348 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209D348 */ if (_t18) goto L_0209D35C; else goto L_0209D34C;
|
|
L_0209D34C: ; // 0x209d34c
|
|
/* 0209D34C */ _t19 = cpu->r[29] + 0x00000028u;
|
|
/* 0209D34C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D350 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D354 */ _t20 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D358 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D35C: ; // 0x209d35c
|
|
/* 0209D35C */ _t21 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D35C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209D360 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209D364 */ cpu->r[5] = cpu->r[31];
|
|
/* 0209D368 */ Gambit_fn_0209D91C(cpu);
|
|
/* 0209D36C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D36C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209D370 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209D374 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209D378 */ cpu->lr = cpu->r[0];
|
|
/* 0209D37C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209D380 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D384 */ return;
|
|
}
|
|
|
|
// fn_0209D2DC @ 0x209d2dc
|
|
void Gambit_fn_0209D2DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25;
|
|
|
|
L_0209D2DC: ; // 0x209d2dc
|
|
/* 0209D2DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D2DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D2DC */ cpu->r[1] = _t0;
|
|
/* 0209D2E0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D2E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D2E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D2E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D2E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209D2EC */ cpu->r[30] = cpu->r[4];
|
|
/* 0209D2F0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D2F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0209D2F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D2F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D2F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209D2FC */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0209D300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D304 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D304 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D304 */ if (_t6) goto L_0209D308; else goto L_0209D31C;
|
|
L_0209D308: ; // 0x209d308
|
|
/* 0209D308 */ _t7 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D30C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D30C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D310 */ _t9 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D314 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0209D31C: ; // 0x209d31c
|
|
/* 0209D31C */ _t10 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D31C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D320 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0209D324 */ _t11 = cpu->r[30] + 0x0000047Fu;
|
|
/* 0209D324 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0209D328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0209D32C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D32C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D32C */ if (_t13) goto L_0209D340; else goto L_0209D330;
|
|
L_0209D330: ; // 0x209d330
|
|
/* 0209D330 */ _t14 = cpu->r[29] + 0x00000028u;
|
|
/* 0209D330 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D334 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D338 */ _t15 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D338 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D33C */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D340: ; // 0x209d340
|
|
/* 0209D340 */ _t16 = cpu->r[30] + 0x00000480u;
|
|
/* 0209D340 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0209D344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D348 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D348 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209D348 */ if (_t18) goto L_0209D35C; else goto L_0209D34C;
|
|
L_0209D34C: ; // 0x209d34c
|
|
/* 0209D34C */ _t19 = cpu->r[29] + 0x00000028u;
|
|
/* 0209D34C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209D350 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209D354 */ _t20 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209D358 */ Gambit_fn_027ECB34(cpu);
|
|
L_0209D35C: ; // 0x209d35c
|
|
/* 0209D35C */ _t21 = cpu->r[29] + 0x00000040u;
|
|
/* 0209D35C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209D360 */ cpu->r[4] = cpu->r[30];
|
|
/* 0209D364 */ cpu->r[5] = cpu->r[31];
|
|
/* 0209D368 */ Gambit_fn_0209D91C(cpu);
|
|
/* 0209D36C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D36C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209D370 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209D374 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0209D378 */ cpu->lr = cpu->r[0];
|
|
/* 0209D37C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209D380 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D384 */ return;
|
|
}
|
|
|
|
// fn_0209D388 @ 0x209d388
|
|
void Gambit_fn_0209D388(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D388: ; // 0x209d388
|
|
/* 0209D388 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D38C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D38C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D390 */ _t2 = cpu->r[12] + 0x00000194u;
|
|
/* 0209D390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D394 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D398 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D39C @ 0x209d39c
|
|
void Gambit_fn_0209D39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209D39C: ; // 0x209d39c
|
|
/* 0209D39C */ cpu->r[0] = cpu->lr;
|
|
/* 0209D3A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D3A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D3A0 */ cpu->r[1] = _t0;
|
|
/* 0209D3A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D3AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D3B0 */ Gambit_fn_0209D388(cpu);
|
|
/* 0209D3B4 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 0209D3B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D3BC */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0209D3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D3C0 */ cpu->r[3] = cpu->r[11];
|
|
/* 0209D3C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D3C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D3C4 */ if (_t6) goto L_0209D3E8; else goto L_0209D3C8;
|
|
L_0209D3C8: ; // 0x209d3c8
|
|
/* 0209D3C8 */ _t7 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D3CC */ cpu->ctr = cpu->r[0];
|
|
/* 0209D3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D3D4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D3D8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D3DC */ cpu->lr = cpu->r[0];
|
|
/* 0209D3E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D3E4 */ return;
|
|
L_0209D3E8: ; // 0x209d3e8
|
|
/* 0209D3E8 */ _t10 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D3EC */ cpu->ctr = cpu->r[0];
|
|
/* 0209D3F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D3F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209D3F8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209D3FC */ cpu->lr = cpu->r[0];
|
|
/* 0209D400 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D404 */ return;
|
|
}
|
|
|
|
// fn_0209D3A0 @ 0x209d3a0
|
|
void Gambit_fn_0209D3A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209D3A0: ; // 0x209d3a0
|
|
/* 0209D3A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D3A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D3A0 */ cpu->r[1] = _t0;
|
|
/* 0209D3A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D3AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D3B0 */ Gambit_fn_0209D388(cpu);
|
|
/* 0209D3B4 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 0209D3B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D3BC */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 0209D3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D3C0 */ cpu->r[3] = cpu->r[11];
|
|
/* 0209D3C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D3C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D3C4 */ if (_t6) goto L_0209D3E8; else goto L_0209D3C8;
|
|
L_0209D3C8: ; // 0x209d3c8
|
|
/* 0209D3C8 */ _t7 = cpu->r[12] + 0x00000174u;
|
|
/* 0209D3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D3CC */ cpu->ctr = cpu->r[0];
|
|
/* 0209D3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D3D4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D3D8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209D3DC */ cpu->lr = cpu->r[0];
|
|
/* 0209D3E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D3E4 */ return;
|
|
L_0209D3E8: ; // 0x209d3e8
|
|
/* 0209D3E8 */ _t10 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209D3EC */ cpu->ctr = cpu->r[0];
|
|
/* 0209D3F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209D3F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209D3F8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D3F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209D3FC */ cpu->lr = cpu->r[0];
|
|
/* 0209D400 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D404 */ return;
|
|
}
|
|
|
|
// fn_0209D408 @ 0x209d408
|
|
void Gambit_fn_0209D408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209D408: ; // 0x209d408
|
|
/* 0209D408 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D40C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D40C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D410 */ _t2 = cpu->r[12] + 0x00000094u;
|
|
/* 0209D410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D414 */ cpu->ctr = cpu->r[0];
|
|
/* 0209D418 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D41C @ 0x209d41c
|
|
void Gambit_fn_0209D41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209D41C: ; // 0x209d41c
|
|
/* 0209D41C */ cpu->r[0] = cpu->lr;
|
|
/* 0209D420 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D420 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D424 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D424 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D424 */ cpu->r[1] = _t1;
|
|
/* 0209D428 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D42C */ _t3 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D42C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209D430 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D434 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D434 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D438 */ Gambit_fn_0209D924(cpu);
|
|
/* 0209D43C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D440 */ cpu->lr = cpu->r[0];
|
|
/* 0209D444 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D448 */ return;
|
|
}
|
|
|
|
// fn_0209D424 @ 0x209d424
|
|
void Gambit_fn_0209D424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0209D424: ; // 0x209d424
|
|
/* 0209D424 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209D424 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D424 */ cpu->r[1] = _t0;
|
|
/* 0209D428 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0209D428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D42C */ _t2 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D42C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209D430 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D434 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D434 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D438 */ Gambit_fn_0209D924(cpu);
|
|
/* 0209D43C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209D440 */ cpu->lr = cpu->r[0];
|
|
/* 0209D444 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D448 */ return;
|
|
}
|
|
|
|
// fn_0209D44C @ 0x209d44c
|
|
void Gambit_fn_0209D44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209D44C: ; // 0x209d44c
|
|
/* 0209D44C */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D450 */ goto L_0209DA04;
|
|
L_0209DA04: ; // 0x209da04
|
|
/* 0209DA04 */ cpu->r[0] = cpu->lr;
|
|
/* 0209DA08 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DA08 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209DA08 */ cpu->r[1] = _t1;
|
|
/* 0209DA0C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DA10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209DA14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DA18 */ cpu->r[12] = cpu->r[12] + 0x000018A0u;
|
|
/* 0209DA1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DA20 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209DA24 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DA28 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA28 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209DA2C */ cpu->r[0] = cpu->r[0] + 0x00001828u;
|
|
/* 0209DA30 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA34 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DA34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209DA38 */ Gambit_fn_027ED798(cpu);
|
|
/* 0209DA3C */ cpu->r[0] = 0x00000007u;
|
|
/* 0209DA40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DA44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DA48 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DA48 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209DA4C */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209DA50 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209DA54 */ cpu->lr = cpu->r[0];
|
|
/* 0209DA58 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209DA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DA60 */ return;
|
|
}
|
|
|
|
// fn_0209D454 @ 0x209d454
|
|
void Gambit_fn_0209D454(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209D454: ; // 0x209d454
|
|
/* 0209D454 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 0209D454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D458 */ goto L_0209DA64;
|
|
L_0209DA64: ; // 0x209da64
|
|
/* 0209DA64 */ cpu->r[0] = cpu->lr;
|
|
/* 0209DA68 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DA6C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DA6C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209DA6C */ cpu->r[1] = _t1;
|
|
/* 0209DA70 */ cpu->r[12] = cpu->r[12] + 0x00001828u;
|
|
/* 0209DA74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209DA78 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DA78 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209DA7C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DA80 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DA84 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DA88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209DA8C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DA90 */ _t5 = cpu->r[10] + 0x000018ACu;
|
|
/* 0209DA90 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0209DA94 */ cpu->r[0] = cpu->r[0] + 0x000018B0u;
|
|
/* 0209DA98 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA9C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA9C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209DAA0 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 0209DAA4 */ cpu->r[11] = 0x00000008u;
|
|
/* 0209DAA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DAAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAB0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209DAB4 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209DAB8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209DABC */ cpu->lr = cpu->r[0];
|
|
/* 0209DAC0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209DAC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DAC8 */ return;
|
|
}
|
|
|
|
// fn_0209D45C @ 0x209d45c
|
|
void Gambit_fn_0209D45C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0209D45C: ; // 0x209d45c
|
|
/* 0209D45C */ cpu->r[0] = cpu->lr;
|
|
/* 0209D460 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D460 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D468 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209D468 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D468 */ cpu->r[1] = _t1;
|
|
/* 0209D46C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D46C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209D46C */ if (_t3) goto L_0209D470; else goto L_0209D480;
|
|
L_0209D470: ; // 0x209d470
|
|
/* 0209D470 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209D474 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D47C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D47C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D47C */ if (_t5) goto L_0209D4AC; else goto L_0209D480;
|
|
L_0209D480: ; // 0x209d480
|
|
/* 0209D480 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209D484 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209D488 */ cpu->r[10] = 0x00000002u;
|
|
/* 0209D48C */ cpu->r[9] = cpu->r[9] + 0x000013F0u;
|
|
/* 0209D490 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 0209D494 */ cpu->ctr = cpu->r[10];
|
|
/* 0209D498 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209D498 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
L_0209D49C: ; // 0x209d49c
|
|
/* 0209D49C */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 0209D49C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209D49C */ cpu->r[12] = _t7;
|
|
/* 0209D4A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209D4A0 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209D4A0 */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 0209D4A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209D4A0 */ if (_t10) goto L_0209D49C; else goto L_0209D4A4;
|
|
L_0209D4A4: ; // 0x209d4a4
|
|
/* 0209D4A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209D4A8 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0209D4A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0209D4AC: ; // 0x209d4ac
|
|
/* 0209D4AC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209D4B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209D4B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D4B8 */ return;
|
|
}
|
|
|
|
// fn_0209D468 @ 0x209d468
|
|
void Gambit_fn_0209D468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0209D468: ; // 0x209d468
|
|
/* 0209D468 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0209D468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D468 */ cpu->r[1] = _t0;
|
|
/* 0209D46C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D46C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209D46C */ if (_t2) goto L_0209D470; else goto L_0209D480;
|
|
L_0209D470: ; // 0x209d470
|
|
/* 0209D470 */ cpu->r[3] = 0x00000010u;
|
|
/* 0209D474 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D47C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D47C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209D47C */ if (_t4) goto L_0209D4AC; else goto L_0209D480;
|
|
L_0209D480: ; // 0x209d480
|
|
/* 0209D480 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209D484 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209D488 */ cpu->r[10] = 0x00000002u;
|
|
/* 0209D48C */ cpu->r[9] = cpu->r[9] + 0x000013F0u;
|
|
/* 0209D490 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 0209D494 */ cpu->ctr = cpu->r[10];
|
|
/* 0209D498 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0209D498 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
L_0209D49C: ; // 0x209d49c
|
|
/* 0209D49C */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 0209D49C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209D49C */ cpu->r[12] = _t6;
|
|
/* 0209D4A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0209D4A0 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0209D4A0 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 0209D4A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209D4A0 */ if (_t9) goto L_0209D49C; else goto L_0209D4A4;
|
|
L_0209D4A4: ; // 0x209d4a4
|
|
/* 0209D4A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209D4A8 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0209D4A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_0209D4AC: ; // 0x209d4ac
|
|
/* 0209D4AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209D4B0 */ cpu->lr = cpu->r[0];
|
|
/* 0209D4B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D4B8 */ return;
|
|
}
|
|
|
|
// fn_0209D4BC @ 0x209d4bc
|
|
void Gambit_fn_0209D4BC(CPUState* cpu) {
|
|
L_0209D4BC: ; // 0x209d4bc
|
|
/* 0209D4BC */ return;
|
|
}
|
|
|
|
// fn_0209D4C0 @ 0x209d4c0
|
|
void Gambit_fn_0209D4C0(CPUState* cpu) {
|
|
L_0209D4C0: ; // 0x209d4c0
|
|
/* 0209D4C0 */ return;
|
|
}
|
|
|
|
// fn_0209D4C4 @ 0x209d4c4
|
|
void Gambit_fn_0209D4C4(CPUState* cpu) {
|
|
L_0209D4C4: ; // 0x209d4c4
|
|
/* 0209D4C4 */ return;
|
|
}
|
|
|
|
// fn_0209D4C8 @ 0x209d4c8
|
|
void Gambit_fn_0209D4C8(CPUState* cpu) {
|
|
L_0209D4C8: ; // 0x209d4c8
|
|
/* 0209D4C8 */ return;
|
|
}
|
|
|
|
// fn_0209D4CC @ 0x209d4cc
|
|
void Gambit_fn_0209D4CC(CPUState* cpu) {
|
|
L_0209D4CC: ; // 0x209d4cc
|
|
/* 0209D4CC */ return;
|
|
}
|
|
|
|
// fn_0209D4D0 @ 0x209d4d0
|
|
void Gambit_fn_0209D4D0(CPUState* cpu) {
|
|
L_0209D4D0: ; // 0x209d4d0
|
|
/* 0209D4D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209D4D4 */ return;
|
|
}
|
|
|
|
// fn_0209D4D8 @ 0x209d4d8
|
|
void Gambit_fn_0209D4D8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D4D8: ; // 0x209d4d8
|
|
/* 0209D4D8 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209D4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209D4DC */ return;
|
|
}
|
|
|
|
// fn_0209D4E0 @ 0x209d4e0
|
|
void Gambit_fn_0209D4E0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D4E0: ; // 0x209d4e0
|
|
/* 0209D4E0 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0209D4E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D4E4 */ return;
|
|
}
|
|
|
|
// fn_0209D4E8 @ 0x209d4e8
|
|
void Gambit_fn_0209D4E8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D4E8: ; // 0x209d4e8
|
|
/* 0209D4E8 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209D4E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0209D4EC */ return;
|
|
}
|
|
|
|
// fn_0209D4F0 @ 0x209d4f0
|
|
void Gambit_fn_0209D4F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D4F0: ; // 0x209d4f0
|
|
/* 0209D4F0 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0209D4F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D4F4 */ return;
|
|
}
|
|
|
|
// fn_0209D4F8 @ 0x209d4f8
|
|
void Gambit_fn_0209D4F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D4F8: ; // 0x209d4f8
|
|
/* 0209D4F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209D4F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D4FC */ return;
|
|
}
|
|
|
|
// fn_0209D500 @ 0x209d500
|
|
void Gambit_fn_0209D500(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209D500: ; // 0x209d500
|
|
/* 0209D500 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209D504 */ goto L_0209D644;
|
|
L_0209D644: ; // 0x209d644
|
|
/* 0209D644 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D648 */ cpu->r[1] = _t0;
|
|
/* 0209D64C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D64C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D650 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D650 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209D654 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D658 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D65C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D65C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D660 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D660 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D660 */ if (_t5) goto L_0209D6D0; else goto L_0209D664;
|
|
L_0209D664: ; // 0x209d664
|
|
/* 0209D664 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D668 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D66C */ cpu->r[0] = cpu->r[0] + 0x0000177Cu;
|
|
/* 0209D670 */ cpu->r[12] = cpu->r[12] + 0x0000179Cu;
|
|
/* 0209D674 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D674 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209D678 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D67C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D67C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209D680 */ cpu->r[11] = cpu->r[11] + 0x0000178Cu;
|
|
/* 0209D684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D688 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D688 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D68C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D68C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209D68C */ if (_t10) goto L_0209D6C0; else goto L_0209D690;
|
|
L_0209D690: ; // 0x209d690
|
|
/* 0209D690 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D694 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D698 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209D69C */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209D6A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6A4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D6A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D6A8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D6AC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D6AC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D6B0 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209D6B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209D6B8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D6B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209D6BC */ Gambit_fn_02068798(cpu);
|
|
L_0209D6C0: ; // 0x209d6c0
|
|
/* 0209D6C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209D6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209D6C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D6C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209D6C4 */ if (_t15) goto L_0209D6D0; else goto L_0209D6C8;
|
|
L_0209D6C8: ; // 0x209d6c8
|
|
/* 0209D6C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6CC */ Gambit_fn_02801BB0(cpu);
|
|
L_0209D6D0: ; // 0x209d6d0
|
|
/* 0209D6D0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D6D4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D6D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D6D8 */ cpu->lr = cpu->r[0];
|
|
/* 0209D6DC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D6DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D6E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D6E4 */ return;
|
|
}
|
|
|
|
// fn_0209D508 @ 0x209d508
|
|
void Gambit_fn_0209D508(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0209D508: ; // 0x209d508
|
|
/* 0209D508 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D50C */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209D510 @ 0x209d510
|
|
void Gambit_fn_0209D510(CPUState* cpu) {
|
|
L_0209D510: ; // 0x209d510
|
|
/* 0209D510 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D514 */ goto L_0209D6E8;
|
|
L_0209D6E8: ; // 0x209d6e8
|
|
/* 0209D6E8 */ return;
|
|
}
|
|
|
|
// fn_0209D518 @ 0x209d518
|
|
void Gambit_fn_0209D518(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D518: ; // 0x209d518
|
|
/* 0209D518 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D51C */ goto L_0209D6EC;
|
|
L_0209D6EC: ; // 0x209d6ec
|
|
/* 0209D6EC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209D6EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D6F0 */ return;
|
|
}
|
|
|
|
// fn_0209D520 @ 0x209d520
|
|
void Gambit_fn_0209D520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209D520: ; // 0x209d520
|
|
/* 0209D520 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D524 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D524 */ cpu->r[1] = _t0;
|
|
/* 0209D528 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D528 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D52C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D530 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D530 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D534 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D534 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209D534 */ if (_t4) goto L_0209D538; else goto L_0209D548;
|
|
L_0209D538: ; // 0x209d538
|
|
/* 0209D538 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209D53C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D540 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D544 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D544 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D544 */ if (_t6) goto L_0209D5BC; else goto L_0209D548;
|
|
L_0209D548: ; // 0x209d548
|
|
/* 0209D548 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D54C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D550 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209D554 */ cpu->r[11] = cpu->r[11] + 0x00001510u;
|
|
/* 0209D558 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D55C */ cpu->r[4] = cpu->r[4] + 0x00001554u;
|
|
/* 0209D560 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D560 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209D564 */ cpu->r[10] = cpu->r[10] + 0x00001548u;
|
|
/* 0209D568 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D56C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D56C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D570 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D574 */ cpu->r[12] = cpu->r[12] + 0x00001568u;
|
|
/* 0209D578 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D578 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209D57C */ cpu->r[7] = 0x00000001u;
|
|
/* 0209D580 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D584 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D584 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D588 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209D58C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D590 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D594 */ cpu->r[0] = cpu->r[0] + 0x0000158Cu;
|
|
/* 0209D598 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D59C */ cpu->r[10] = cpu->r[10] + 0x0000177Cu;
|
|
/* 0209D5A0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D5A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D5A4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D5A8 */ cpu->r[12] = cpu->r[12] + 0x0000178Cu;
|
|
/* 0209D5AC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209D5AC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D5B0 */ cpu->r[0] = cpu->r[0] + 0x0000179Cu;
|
|
/* 0209D5B4 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209D5B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209D5B8 */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209D5B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_0209D5BC: ; // 0x209d5bc
|
|
/* 0209D5BC */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D5C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D5C4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D5C8 */ cpu->lr = cpu->r[0];
|
|
/* 0209D5CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D5D0 */ return;
|
|
}
|
|
|
|
// fn_0209D524 @ 0x209d524
|
|
void Gambit_fn_0209D524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209D524: ; // 0x209d524
|
|
/* 0209D524 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D524 */ cpu->r[1] = _t0;
|
|
/* 0209D528 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D528 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D52C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D530 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D530 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D534 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D534 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209D534 */ if (_t4) goto L_0209D538; else goto L_0209D548;
|
|
L_0209D538: ; // 0x209d538
|
|
/* 0209D538 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209D53C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D540 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D544 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D544 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D544 */ if (_t6) goto L_0209D5BC; else goto L_0209D548;
|
|
L_0209D548: ; // 0x209d548
|
|
/* 0209D548 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D54C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D550 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209D554 */ cpu->r[11] = cpu->r[11] + 0x00001510u;
|
|
/* 0209D558 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D55C */ cpu->r[4] = cpu->r[4] + 0x00001554u;
|
|
/* 0209D560 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D560 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209D564 */ cpu->r[10] = cpu->r[10] + 0x00001548u;
|
|
/* 0209D568 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D56C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D56C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D570 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D574 */ cpu->r[12] = cpu->r[12] + 0x00001568u;
|
|
/* 0209D578 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D578 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209D57C */ cpu->r[7] = 0x00000001u;
|
|
/* 0209D580 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D584 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D584 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D588 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209D58C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D590 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D594 */ cpu->r[0] = cpu->r[0] + 0x0000158Cu;
|
|
/* 0209D598 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D59C */ cpu->r[10] = cpu->r[10] + 0x0000177Cu;
|
|
/* 0209D5A0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D5A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D5A4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D5A8 */ cpu->r[12] = cpu->r[12] + 0x0000178Cu;
|
|
/* 0209D5AC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209D5AC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D5B0 */ cpu->r[0] = cpu->r[0] + 0x0000179Cu;
|
|
/* 0209D5B4 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209D5B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209D5B8 */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209D5B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_0209D5BC: ; // 0x209d5bc
|
|
/* 0209D5BC */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209D5C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D5C4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D5C8 */ cpu->lr = cpu->r[0];
|
|
/* 0209D5CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D5D0 */ return;
|
|
}
|
|
|
|
// fn_0209D5D4 @ 0x209d5d4
|
|
void Gambit_fn_0209D5D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209D5D4: ; // 0x209d5d4
|
|
/* 0209D5D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D5D8 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D5DC */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D5E0 */ cpu->r[11] = cpu->r[11] + 0x00001510u;
|
|
/* 0209D5E4 */ cpu->r[12] = cpu->r[12] + 0x00001578u;
|
|
/* 0209D5E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209D5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209D5EC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D5F0 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D5F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209D5F0 */ cpu->r[1] = _t1;
|
|
/* 0209D5F4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D5F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0209D5F8 */ cpu->r[0] = cpu->r[0] + 0x00001580u;
|
|
/* 0209D5FC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209D600 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D604 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D604 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209D608 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D60C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D60C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209D610 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D614 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D614 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0209D618 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D618 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209D61C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209D620 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209D624 */ cpu->lr = cpu->r[0];
|
|
/* 0209D628 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D62C */ return;
|
|
}
|
|
|
|
// fn_0209D5F0 @ 0x209d5f0
|
|
void Gambit_fn_0209D5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209D5F0: ; // 0x209d5f0
|
|
/* 0209D5F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D5F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D5F0 */ cpu->r[1] = _t0;
|
|
/* 0209D5F4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D5F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0209D5F8 */ cpu->r[0] = cpu->r[0] + 0x00001580u;
|
|
/* 0209D5FC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D5FC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209D600 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209D604 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D604 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209D608 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D60C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D60C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0209D610 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D614 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D614 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209D618 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D618 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209D61C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209D620 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D624 */ cpu->lr = cpu->r[0];
|
|
/* 0209D628 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D62C */ return;
|
|
}
|
|
|
|
// fn_0209D630 @ 0x209d630
|
|
void Gambit_fn_0209D630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209D630: ; // 0x209d630
|
|
/* 0209D630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209D634 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D634 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209D634 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209D634 */ goto L_0209D638;
|
|
L_0209D638: ; // 0x209d638
|
|
/* 0209D638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209D638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D63C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D63C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209D63C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209D63C */ goto L_0209D640;
|
|
L_0209D640: ; // 0x209d640
|
|
/* 0209D640 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209D644 @ 0x209d644
|
|
void Gambit_fn_0209D644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209D644: ; // 0x209d644
|
|
/* 0209D644 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D648 */ cpu->r[1] = _t0;
|
|
/* 0209D64C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D64C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D650 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D650 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209D654 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D658 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D65C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D65C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D660 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D660 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D660 */ if (_t5) goto L_0209D6D0; else goto L_0209D664;
|
|
L_0209D664: ; // 0x209d664
|
|
/* 0209D664 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D668 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D66C */ cpu->r[0] = cpu->r[0] + 0x0000177Cu;
|
|
/* 0209D670 */ cpu->r[12] = cpu->r[12] + 0x0000179Cu;
|
|
/* 0209D674 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D674 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209D678 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D67C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D67C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209D680 */ cpu->r[11] = cpu->r[11] + 0x0000178Cu;
|
|
/* 0209D684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D688 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D688 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D68C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D68C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209D68C */ if (_t10) goto L_0209D6C0; else goto L_0209D690;
|
|
L_0209D690: ; // 0x209d690
|
|
/* 0209D690 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D694 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D698 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209D69C */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209D6A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6A4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D6A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D6A8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D6AC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D6AC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D6B0 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209D6B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209D6B8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D6B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209D6BC */ Gambit_fn_02068798(cpu);
|
|
L_0209D6C0: ; // 0x209d6c0
|
|
/* 0209D6C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209D6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209D6C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D6C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209D6C4 */ if (_t15) goto L_0209D6D0; else goto L_0209D6C8;
|
|
L_0209D6C8: ; // 0x209d6c8
|
|
/* 0209D6C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6CC */ Gambit_fn_02801BB0(cpu);
|
|
L_0209D6D0: ; // 0x209d6d0
|
|
/* 0209D6D0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D6D4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D6D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D6D8 */ cpu->lr = cpu->r[0];
|
|
/* 0209D6DC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D6DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D6E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D6E4 */ return;
|
|
}
|
|
|
|
// fn_0209D648 @ 0x209d648
|
|
void Gambit_fn_0209D648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209D648: ; // 0x209d648
|
|
/* 0209D648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209D648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D648 */ cpu->r[1] = _t0;
|
|
/* 0209D64C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D64C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D650 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D650 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209D654 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D658 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D65C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D65C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209D660 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D660 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209D660 */ if (_t5) goto L_0209D6D0; else goto L_0209D664;
|
|
L_0209D664: ; // 0x209d664
|
|
/* 0209D664 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D668 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D66C */ cpu->r[0] = cpu->r[0] + 0x0000177Cu;
|
|
/* 0209D670 */ cpu->r[12] = cpu->r[12] + 0x0000179Cu;
|
|
/* 0209D674 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D674 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209D678 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D67C */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D67C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209D680 */ cpu->r[11] = cpu->r[11] + 0x0000178Cu;
|
|
/* 0209D684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209D688 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D688 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D68C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D68C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209D68C */ if (_t10) goto L_0209D6C0; else goto L_0209D690;
|
|
L_0209D690: ; // 0x209d690
|
|
/* 0209D690 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D694 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D698 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209D69C */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209D6A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6A4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209D6A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D6A8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D6AC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209D6AC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D6B0 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209D6B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209D6B8 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209D6B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209D6BC */ Gambit_fn_02068798(cpu);
|
|
L_0209D6C0: ; // 0x209d6c0
|
|
/* 0209D6C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209D6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209D6C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D6C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209D6C4 */ if (_t15) goto L_0209D6D0; else goto L_0209D6C8;
|
|
L_0209D6C8: ; // 0x209d6c8
|
|
/* 0209D6C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D6CC */ Gambit_fn_02801BB0(cpu);
|
|
L_0209D6D0: ; // 0x209d6d0
|
|
/* 0209D6D0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D6D4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D6D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D6D8 */ cpu->lr = cpu->r[0];
|
|
/* 0209D6DC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D6DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D6E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D6E4 */ return;
|
|
}
|
|
|
|
// fn_0209D6E8 @ 0x209d6e8
|
|
void Gambit_fn_0209D6E8(CPUState* cpu) {
|
|
L_0209D6E8: ; // 0x209d6e8
|
|
/* 0209D6E8 */ return;
|
|
}
|
|
|
|
// fn_0209D6EC @ 0x209d6ec
|
|
void Gambit_fn_0209D6EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D6EC: ; // 0x209d6ec
|
|
/* 0209D6EC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209D6EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D6F0 */ return;
|
|
}
|
|
|
|
// fn_0209D6F4 @ 0x209d6f4
|
|
void Gambit_fn_0209D6F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D6F4: ; // 0x209d6f4
|
|
/* 0209D6F4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209D6F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D6F8 */ return;
|
|
}
|
|
|
|
// fn_0209D6FC @ 0x209d6fc
|
|
void Gambit_fn_0209D6FC(CPUState* cpu) {
|
|
L_0209D6FC: ; // 0x209d6fc
|
|
/* 0209D6FC */ return;
|
|
}
|
|
|
|
// fn_0209D700 @ 0x209d700
|
|
void Gambit_fn_0209D700(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D700: ; // 0x209d700
|
|
/* 0209D700 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209D700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D704 */ return;
|
|
}
|
|
|
|
// fn_0209D708 @ 0x209d708
|
|
void Gambit_fn_0209D708(CPUState* cpu) {
|
|
L_0209D708: ; // 0x209d708
|
|
/* 0209D708 */ return;
|
|
}
|
|
|
|
// fn_0209D70C @ 0x209d70c
|
|
void Gambit_fn_0209D70C(CPUState* cpu) {
|
|
L_0209D70C: ; // 0x209d70c
|
|
/* 0209D70C */ return;
|
|
}
|
|
|
|
// fn_0209D710 @ 0x209d710
|
|
void Gambit_fn_0209D710(CPUState* cpu) {
|
|
L_0209D710: ; // 0x209d710
|
|
/* 0209D710 */ return;
|
|
}
|
|
|
|
// fn_0209D714 @ 0x209d714
|
|
void Gambit_fn_0209D714(CPUState* cpu) {
|
|
L_0209D714: ; // 0x209d714
|
|
/* 0209D714 */ return;
|
|
}
|
|
|
|
// fn_0209D718 @ 0x209d718
|
|
void Gambit_fn_0209D718(CPUState* cpu) {
|
|
L_0209D718: ; // 0x209d718
|
|
/* 0209D718 */ return;
|
|
}
|
|
|
|
// fn_0209D71C @ 0x209d71c
|
|
void Gambit_fn_0209D71C(CPUState* cpu) {
|
|
L_0209D71C: ; // 0x209d71c
|
|
/* 0209D71C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209D720 */ return;
|
|
}
|
|
|
|
// fn_0209D724 @ 0x209d724
|
|
void Gambit_fn_0209D724(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209D724: ; // 0x209d724
|
|
/* 0209D724 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209D724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D728 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209D728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209D72C */ cpu->ctr = cpu->r[0];
|
|
/* 0209D730 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209D734 @ 0x209d734
|
|
void Gambit_fn_0209D734(CPUState* cpu) {
|
|
L_0209D734: ; // 0x209d734
|
|
/* 0209D734 */ return;
|
|
}
|
|
|
|
// fn_0209D738 @ 0x209d738
|
|
void Gambit_fn_0209D738(CPUState* cpu) {
|
|
L_0209D738: ; // 0x209d738
|
|
/* 0209D738 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209D73C */ return;
|
|
}
|
|
|
|
// fn_0209D740 @ 0x209d740
|
|
void Gambit_fn_0209D740(CPUState* cpu) {
|
|
L_0209D740: ; // 0x209d740
|
|
/* 0209D740 */ return;
|
|
}
|
|
|
|
// fn_0209D744 @ 0x209d744
|
|
void Gambit_fn_0209D744(CPUState* cpu) {
|
|
L_0209D744: ; // 0x209d744
|
|
/* 0209D744 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209D748 */ return;
|
|
}
|
|
|
|
// fn_0209D74C @ 0x209d74c
|
|
void Gambit_fn_0209D74C(CPUState* cpu) {
|
|
L_0209D74C: ; // 0x209d74c
|
|
/* 0209D74C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209D750 */ return;
|
|
}
|
|
|
|
// fn_0209D754 @ 0x209d754
|
|
void Gambit_fn_0209D754(CPUState* cpu) {
|
|
L_0209D754: ; // 0x209d754
|
|
/* 0209D754 */ return;
|
|
}
|
|
|
|
// fn_0209D758 @ 0x209d758
|
|
void Gambit_fn_0209D758(CPUState* cpu) {
|
|
L_0209D758: ; // 0x209d758
|
|
/* 0209D758 */ return;
|
|
}
|
|
|
|
// fn_0209D75C @ 0x209d75c
|
|
void Gambit_fn_0209D75C(CPUState* cpu) {
|
|
L_0209D75C: ; // 0x209d75c
|
|
/* 0209D75C */ return;
|
|
}
|
|
|
|
// fn_0209D760 @ 0x209d760
|
|
void Gambit_fn_0209D760(CPUState* cpu) {
|
|
L_0209D760: ; // 0x209d760
|
|
/* 0209D760 */ return;
|
|
}
|
|
|
|
// fn_0209D764 @ 0x209d764
|
|
void Gambit_fn_0209D764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209D764: ; // 0x209d764
|
|
/* 0209D764 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209D768 */ _t0 = cpu->r[12] + 0xFFFFE370u;
|
|
/* 0209D768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209D76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209D770 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209D774 */ cpu->r[12] = cpu->r[12] + 0xFFFFEE18u;
|
|
/* 0209D778 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D778 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209D778 */ if (_t2) goto L_0209D77C; else goto L_0209D794;
|
|
L_0209D77C: ; // 0x209d77c
|
|
/* 0209D77C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D780 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209D784 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209D788 */ cpu->r[0] = cpu->r[0] + 0x00001538u;
|
|
/* 0209D78C */ _t3 = cpu->r[8] + 0xFFFFE370u;
|
|
/* 0209D78C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0209D790 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209D790 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0209D794: ; // 0x209d794
|
|
/* 0209D794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209D798 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D798 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D798 */ if (_t6) goto L_0209D79C; else goto L_0209D7A4;
|
|
L_0209D79C: ; // 0x209d79c
|
|
/* 0209D79C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209D7A0 */ return;
|
|
L_0209D7A4: ; // 0x209d7a4
|
|
/* 0209D7A4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209D7A8 */ _t7 = cpu->r[11] + 0xFFFFDBA0u;
|
|
/* 0209D7A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209D7A8 */ cpu->r[11] = _t7;
|
|
/* 0209D7AC */ cpu->r[10] = 0x101D0000u;
|
|
/* 0209D7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209D7B4 */ cpu->r[10] = cpu->r[10] + 0xFFFFED90u;
|
|
/* 0209D7B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D7B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209D7B8 */ if (_t9) goto L_0209D7BC; else goto L_0209D7D0;
|
|
L_0209D7BC: ; // 0x209d7bc
|
|
/* 0209D7BC */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D7C0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209D7C4 */ cpu->r[12] = cpu->r[12] + 0x00001528u;
|
|
/* 0209D7C8 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0209D7C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209D7CC */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0209D7CC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0209D7D0: ; // 0x209d7d0
|
|
/* 0209D7D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0209D7D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D7D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D7D4 */ if (_t13) goto L_0209D7D8; else goto L_0209D7E0;
|
|
L_0209D7D8: ; // 0x209d7d8
|
|
/* 0209D7D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209D7DC */ goto L_0209D818;
|
|
L_0209D7E0: ; // 0x209d7e0
|
|
/* 0209D7E0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209D7E4 */ _t14 = cpu->r[8] + 0xFFFFDB98u;
|
|
/* 0209D7E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209D7E4 */ cpu->r[8] = _t14;
|
|
/* 0209D7E8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209D7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209D7F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209D7F4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D7F4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209D7F4 */ if (_t16) goto L_0209D7F8; else goto L_0209D80C;
|
|
L_0209D7F8: ; // 0x209d7f8
|
|
/* 0209D7F8 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D7FC */ cpu->r[9] = 0x00000001u;
|
|
/* 0209D800 */ cpu->r[10] = cpu->r[10] + 0x00001500u;
|
|
/* 0209D804 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0209D804 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0209D808 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0209D808 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0209D80C: ; // 0x209d80c
|
|
/* 0209D80C */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209D810 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0209D814 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0209D818: ; // 0x209d818
|
|
/* 0209D818 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209D81C */ return;
|
|
}
|
|
|
|
// fn_0209D820 @ 0x209d820
|
|
void Gambit_fn_0209D820(CPUState* cpu) {
|
|
L_0209D820: ; // 0x209d820
|
|
/* 0209D820 */ return;
|
|
}
|
|
|
|
// fn_0209D824 @ 0x209d824
|
|
void Gambit_fn_0209D824(CPUState* cpu) {
|
|
L_0209D824: ; // 0x209d824
|
|
/* 0209D824 */ return;
|
|
}
|
|
|
|
// fn_0209D828 @ 0x209d828
|
|
void Gambit_fn_0209D828(CPUState* cpu) {
|
|
L_0209D828: ; // 0x209d828
|
|
/* 0209D828 */ return;
|
|
}
|
|
|
|
// fn_0209D82C @ 0x209d82c
|
|
void Gambit_fn_0209D82C(CPUState* cpu) {
|
|
L_0209D82C: ; // 0x209d82c
|
|
/* 0209D82C */ return;
|
|
}
|
|
|
|
// fn_0209D830 @ 0x209d830
|
|
void Gambit_fn_0209D830(CPUState* cpu) {
|
|
L_0209D830: ; // 0x209d830
|
|
/* 0209D830 */ return;
|
|
}
|
|
|
|
// fn_0209D834 @ 0x209d834
|
|
void Gambit_fn_0209D834(CPUState* cpu) {
|
|
L_0209D834: ; // 0x209d834
|
|
/* 0209D834 */ return;
|
|
}
|
|
|
|
// fn_0209D838 @ 0x209d838
|
|
void Gambit_fn_0209D838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02053FB0: ; // 0x2053fb0
|
|
/* 02053FB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02053FB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02053FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02053FB4 */ cpu->r[1] = _t0;
|
|
/* 02053FB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02053FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02053FBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02053FC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02053FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02053FC4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02053FC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02053FC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02053FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02053FD0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02053FD0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02053FD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02053FD4 */ if (_t6) goto L_02053FFC; else goto L_02053FD8;
|
|
L_02053FD8: ; // 0x2053fd8
|
|
/* 02053FD8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02053FD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02053FDC */ /* nop */
|
|
/* 02053FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02053FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02053FE4 */ if (_t9) goto L_02053FE8; else goto L_02053FFC;
|
|
L_02053FE8: ; // 0x2053fe8
|
|
/* 02053FE8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02053FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02053FEC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02053FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02053FF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02053FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02053FF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02053FFC: ; // 0x2053ffc
|
|
/* 02053FFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02054000 */ Gambit_fn_02053F28(cpu);
|
|
/* 02054004 */ cpu->r[3] = cpu->r[31];
|
|
/* 02054008 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0205400C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0205400C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02054010 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02054010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02054014 */ cpu->lr = cpu->r[0];
|
|
/* 02054018 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0205401C */ return;
|
|
L_0209D838: ; // 0x209d838
|
|
/* 0209D838 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209D83C */ goto L_02053FB0;
|
|
}
|
|
|
|
// fn_0209D840 @ 0x209d840
|
|
void Gambit_fn_0209D840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209D840: ; // 0x209d840
|
|
/* 0209D840 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209D844 */ goto L_0209DCF8;
|
|
L_0209DCF8: ; // 0x209dcf8
|
|
/* 0209DCF8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209DCFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209DCFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DCFC */ cpu->r[1] = _t0;
|
|
/* 0209DD00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DD04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209DD08 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209DD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD0C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209DD10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209DD14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DD14 */ if (_t5) goto L_0209DD84; else goto L_0209DD18;
|
|
L_0209DD18: ; // 0x209dd18
|
|
/* 0209DD18 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD1C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DD20 */ cpu->r[0] = cpu->r[0] + 0x00001B3Cu;
|
|
/* 0209DD24 */ cpu->r[12] = cpu->r[12] + 0x00001B5Cu;
|
|
/* 0209DD28 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209DD2C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DD30 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD30 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209DD34 */ cpu->r[11] = cpu->r[11] + 0x00001B4Cu;
|
|
/* 0209DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD3C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD3C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209DD40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209DD40 */ if (_t10) goto L_0209DD74; else goto L_0209DD44;
|
|
L_0209DD44: ; // 0x209dd44
|
|
/* 0209DD44 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DD48 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD4C */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209DD50 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209DD54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD58 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD58 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DD5C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD60 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD60 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209DD64 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209DD68 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DD6C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD6C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209DD70 */ Gambit_fn_02068798(cpu);
|
|
L_0209DD74: ; // 0x209dd74
|
|
/* 0209DD74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209DD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209DD78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209DD78 */ if (_t15) goto L_0209DD84; else goto L_0209DD7C;
|
|
L_0209DD7C: ; // 0x209dd7c
|
|
/* 0209DD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD80 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209DD84: ; // 0x209dd84
|
|
/* 0209DD84 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209DD88 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209DD8C */ cpu->lr = cpu->r[0];
|
|
/* 0209DD90 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209DD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DD98 */ return;
|
|
}
|
|
|
|
// fn_0209D848 @ 0x209d848
|
|
void Gambit_fn_0209D848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0209D848: ; // 0x209d848
|
|
/* 0209D848 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D84C */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209D850 @ 0x209d850
|
|
void Gambit_fn_0209D850(CPUState* cpu) {
|
|
L_0209D850: ; // 0x209d850
|
|
/* 0209D850 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D854 */ goto L_0209DD9C;
|
|
L_0209DD9C: ; // 0x209dd9c
|
|
/* 0209DD9C */ return;
|
|
}
|
|
|
|
// fn_0209D858 @ 0x209d858
|
|
void Gambit_fn_0209D858(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209D858: ; // 0x209d858
|
|
/* 0209D858 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209D85C */ goto L_0209DDA0;
|
|
L_0209DDA0: ; // 0x209dda0
|
|
/* 0209DDA0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209DDA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DDA4 */ return;
|
|
}
|
|
|
|
// fn_0209D860 @ 0x209d860
|
|
void Gambit_fn_0209D860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0209D860: ; // 0x209d860
|
|
/* 0209D860 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D864 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D864 */ cpu->r[1] = _t0;
|
|
/* 0209D868 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D86C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D870 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D870 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D874 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D874 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209D874 */ if (_t4) goto L_0209D878; else goto L_0209D888;
|
|
L_0209D878: ; // 0x209d878
|
|
/* 0209D878 */ cpu->r[3] = 0x00000290u;
|
|
/* 0209D87C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D880 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D884 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D884 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D884 */ if (_t6) goto L_0209D904; else goto L_0209D888;
|
|
L_0209D888: ; // 0x209d888
|
|
/* 0209D888 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D88C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D890 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209D894 */ cpu->r[11] = cpu->r[11] + 0x00001828u;
|
|
/* 0209D898 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D89C */ cpu->r[4] = cpu->r[4] + 0x00001870u;
|
|
/* 0209D8A0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D8A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209D8A4 */ cpu->r[10] = cpu->r[10] + 0x00001864u;
|
|
/* 0209D8A8 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D8AC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D8AC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D8B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D8B4 */ cpu->r[12] = cpu->r[12] + 0x00001860u;
|
|
/* 0209D8B8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D8B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209D8BC */ cpu->r[7] = 0x00000002u;
|
|
/* 0209D8C0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D8C4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D8C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D8C8 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209D8CC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D8D0 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D8D4 */ cpu->r[0] = cpu->r[0] + 0x0000194Cu;
|
|
/* 0209D8D8 */ cpu->r[10] = cpu->r[10] + 0x00001B3Cu;
|
|
/* 0209D8DC */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D8E0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D8E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D8E4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D8E8 */ cpu->r[12] = cpu->r[12] + 0x00001B4Cu;
|
|
/* 0209D8EC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209D8EC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D8F0 */ cpu->r[0] = cpu->r[0] + 0x00001B5Cu;
|
|
/* 0209D8F4 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209D8F4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209D8F8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0209D8FC */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209D8FC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0209D900 */ _t15 = cpu->r[31] + 0x0000028Cu;
|
|
/* 0209D900 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
L_0209D904: ; // 0x209d904
|
|
/* 0209D904 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D908 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D90C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D90C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D910 */ cpu->lr = cpu->r[0];
|
|
/* 0209D914 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D918 */ return;
|
|
}
|
|
|
|
// fn_0209D864 @ 0x209d864
|
|
void Gambit_fn_0209D864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0209D864: ; // 0x209d864
|
|
/* 0209D864 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209D864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D864 */ cpu->r[1] = _t0;
|
|
/* 0209D868 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209D86C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D870 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D870 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209D874 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D874 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209D874 */ if (_t4) goto L_0209D878; else goto L_0209D888;
|
|
L_0209D878: ; // 0x209d878
|
|
/* 0209D878 */ cpu->r[3] = 0x00000290u;
|
|
/* 0209D87C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209D880 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209D880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209D884 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209D884 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209D884 */ if (_t6) goto L_0209D904; else goto L_0209D888;
|
|
L_0209D888: ; // 0x209d888
|
|
/* 0209D888 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D88C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D890 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209D894 */ cpu->r[11] = cpu->r[11] + 0x00001828u;
|
|
/* 0209D898 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D89C */ cpu->r[4] = cpu->r[4] + 0x00001870u;
|
|
/* 0209D8A0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D8A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209D8A4 */ cpu->r[10] = cpu->r[10] + 0x00001864u;
|
|
/* 0209D8A8 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D8AC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D8AC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209D8B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209D8B4 */ cpu->r[12] = cpu->r[12] + 0x00001860u;
|
|
/* 0209D8B8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D8B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209D8BC */ cpu->r[7] = 0x00000002u;
|
|
/* 0209D8C0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D8C4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D8C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D8C8 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209D8CC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D8D0 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209D8D4 */ cpu->r[0] = cpu->r[0] + 0x0000194Cu;
|
|
/* 0209D8D8 */ cpu->r[10] = cpu->r[10] + 0x00001B3Cu;
|
|
/* 0209D8DC */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D8E0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D8E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209D8E4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209D8E8 */ cpu->r[12] = cpu->r[12] + 0x00001B4Cu;
|
|
/* 0209D8EC */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209D8EC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209D8F0 */ cpu->r[0] = cpu->r[0] + 0x00001B5Cu;
|
|
/* 0209D8F4 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209D8F4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209D8F8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0209D8FC */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209D8FC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0209D900 */ _t15 = cpu->r[31] + 0x0000028Cu;
|
|
/* 0209D900 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
L_0209D904: ; // 0x209d904
|
|
/* 0209D904 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209D908 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209D90C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D90C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D910 */ cpu->lr = cpu->r[0];
|
|
/* 0209D914 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209D918 */ return;
|
|
}
|
|
|
|
// fn_0209D91C @ 0x209d91c
|
|
void Gambit_fn_0209D91C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_0209D91C: ; // 0x209d91c
|
|
/* 0209D91C */ _t0 = cpu->r[3] + 0x0000028Cu;
|
|
/* 0209D91C */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0209D920 */ goto L_020BA96C;
|
|
L_020BA96C: ; // 0x20ba96c
|
|
/* 020BA96C */ cpu->r[0] = cpu->lr;
|
|
/* 020BA970 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 020BA970 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020BA970 */ cpu->r[1] = _t1;
|
|
/* 020BA974 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 020BA974 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 020BA978 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BA978 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 020BA97C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 020BA97C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 020BA980 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BA980 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 020BA984 */ cpu->r[29] = cpu->r[3];
|
|
/* 020BA988 */ cpu->r[3] = 0x101C0000u;
|
|
/* 020BA98C */ _t6 = cpu->r[3] + 0x00003400u;
|
|
/* 020BA98C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 020BA990 */ cpu->r[31] = cpu->r[4];
|
|
/* 020BA994 */ Gambit_fn_0206C030(cpu);
|
|
/* 020BA998 */ _t7 = cpu->r[29] + 0x0000024Cu;
|
|
/* 020BA998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 020BA99C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 020BA99C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020BA9A0 */ _t9 = cpu->r[12] + 0x00000084u;
|
|
/* 020BA9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020BA9A4 */ cpu->ctr = cpu->r[0];
|
|
/* 020BA9A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BA9AC */ _t10 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BA9AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020BA9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020BA9B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BA9B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 020BA9B4 */ if (_t12) goto L_020BA9D0; else goto L_020BA9B8;
|
|
L_020BA9B8: ; // 0x20ba9b8
|
|
/* 020BA9B8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 020BA9B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020BA9BC */ _t14 = cpu->r[10] + 0x00000034u;
|
|
/* 020BA9BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020BA9C0 */ cpu->ctr = cpu->r[11];
|
|
/* 020BA9C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020BA9C8 */ _t15 = cpu->r[29] + 0x0000027Cu;
|
|
/* 020BA9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020BA9CC */ Gambit_fn_020C3988(cpu);
|
|
L_020BA9D0: ; // 0x20ba9d0
|
|
/* 020BA9D0 */ _t16 = cpu->r[29] + 0x00000214u;
|
|
/* 020BA9D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020BA9D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BA9D8 */ Gambit_fn_020BC540(cpu);
|
|
/* 020BA9DC */ cpu->r[3] = cpu->r[31];
|
|
/* 020BA9E0 */ Gambit_fn_020BD008(cpu);
|
|
/* 020BA9E4 */ _t17 = cpu->r[29] + 0x00000214u;
|
|
/* 020BA9E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020BA9E8 */ _t18 = cpu->r[29] + 0x0000021Cu;
|
|
/* 020BA9E8 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 020BA9EC */ _t19 = cpu->r[31] + 0x0000047Cu;
|
|
/* 020BA9EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 020BA9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020BA9F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BA9F4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 020BA9F4 */ if (_t21) goto L_020BAB04; else goto L_020BA9F8;
|
|
L_020BA9F8: ; // 0x20ba9f8
|
|
/* 020BA9F8 */ _t22 = cpu->r[31] + 0x00000444u;
|
|
/* 020BA9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020BA9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 020BAA00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAA00 */ _t24 = _t23 & 0x00000001u;
|
|
/* 020BAA00 */ if (_t24) goto L_020BAA04; else goto L_020BAA68;
|
|
L_020BAA04: ; // 0x20baa04
|
|
/* 020BAA04 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAA08 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAA0C */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAA10 */ cpu->r[30] = cpu->r[3];
|
|
/* 020BAA14 */ _t25 = cpu->r[29] + 0x00000214u;
|
|
/* 020BAA14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 020BAA18 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAA1C */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAA20 */ cpu->r[7] = cpu->r[3];
|
|
/* 020BAA24 */ cpu->r[5] = 0x00000002u;
|
|
/* 020BAA28 */ cpu->r[6] = cpu->r[30];
|
|
/* 020BAA2C */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAA30 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAA34 */ _t26 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAA34 */ _t27 = _t26 & 0x00000001u;
|
|
/* 020BAA34 */ if (_t27) goto L_020BAA38; // else: addr-0 trap, fall-through
|
|
L_020BAA38: ; // 0x20baa38
|
|
/* 020BAA38 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAA3C */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAA40 */ Gambit_fn_0206A274(cpu);
|
|
/* 020BAA44 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAA48 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAA4C */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAA50 */ _t28 = cpu->r[29] + 0x000001ACu;
|
|
/* 020BAA50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 020BAA54 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020BAA58 */ cpu->r[9] = 0x00000000u;
|
|
/* 020BAA5C */ _t29 = cpu->r[29] + 0x00000281u;
|
|
/* 020BAA5C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[9]);
|
|
/* 020BAA60 */ _t30 = cpu->r[29] + 0x00000282u;
|
|
/* 020BAA60 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[9]);
|
|
/* 020BAA64 */ goto L_020BAB40;
|
|
L_020BAA68: ; // 0x20baa68
|
|
/* 020BAA68 */ _t31 = cpu->r[31] + 0x00000444u;
|
|
/* 020BAA68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 020BAA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 020BAA70 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020BAA70 */ _t33 = _t32 & 0x00000001u;
|
|
/* 020BAA70 */ if (_t33) goto L_020BAA74; else goto L_020BAAC4;
|
|
L_020BAA74: ; // 0x20baa74
|
|
/* 020BAA74 */ cpu->r[3] = cpu->r[31];
|
|
/* 020BAA78 */ cpu->r[4] = 0x00000000u;
|
|
/* 020BAA7C */ Gambit_fn_020A57C0(cpu);
|
|
/* 020BAA80 */ cpu->r[6] = cpu->r[3];
|
|
/* 020BAA84 */ cpu->r[5] = 0x00000001u;
|
|
/* 020BAA88 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAA8C */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAA90 */ _t34 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAA90 */ _t35 = _t34 & 0x00000001u;
|
|
/* 020BAA90 */ if (_t35) goto L_020BAA94; // else: addr-0 trap, fall-through
|
|
L_020BAA94: ; // 0x20baa94
|
|
/* 020BAA94 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAA98 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAA9C */ Gambit_fn_0206A274(cpu);
|
|
/* 020BAAA0 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAAA4 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAAA8 */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAAAC */ _t36 = cpu->r[29] + 0x000001ACu;
|
|
/* 020BAAAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 020BAAB0 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020BAAB4 */ cpu->r[9] = 0x00000000u;
|
|
/* 020BAAB8 */ _t37 = cpu->r[29] + 0x00000281u;
|
|
/* 020BAAB8 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[9]);
|
|
/* 020BAABC */ _t38 = cpu->r[29] + 0x00000282u;
|
|
/* 020BAABC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[9]);
|
|
/* 020BAAC0 */ goto L_020BAB40;
|
|
L_020BAAC4: ; // 0x20baac4
|
|
/* 020BAAC4 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAAC8 */ cpu->r[4] = cpu->r[31];
|
|
/* 020BAACC */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAAD0 */ _t39 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAAD0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 020BAAD0 */ if (_t40) goto L_020BAAD4; // else: addr-0 trap, fall-through
|
|
L_020BAAD4: ; // 0x20baad4
|
|
/* 020BAAD4 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAAD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAADC */ Gambit_fn_0206A274(cpu);
|
|
/* 020BAAE0 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAAE4 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAAE8 */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAAEC */ _t41 = cpu->r[29] + 0x000001ACu;
|
|
/* 020BAAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 020BAAF0 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020BAAF4 */ cpu->r[9] = 0x00000000u;
|
|
/* 020BAAF8 */ _t42 = cpu->r[29] + 0x00000281u;
|
|
/* 020BAAF8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[9]);
|
|
/* 020BAAFC */ _t43 = cpu->r[29] + 0x00000282u;
|
|
/* 020BAAFC */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
/* 020BAB00 */ goto L_020BAB40;
|
|
L_020BAB04: ; // 0x20bab04
|
|
/* 020BAB04 */ cpu->r[5] = 0x00000000u;
|
|
/* 020BAB08 */ cpu->r[4] = cpu->r[31] + 0x00000488u;
|
|
/* 020BAB0C */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAB10 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 020BAB10 */ _t45 = _t44 & 0x00000001u;
|
|
/* 020BAB10 */ if (_t45) goto L_020BAB14; // else: addr-0 trap, fall-through
|
|
L_020BAB14: ; // 0x20bab14
|
|
/* 020BAB14 */ Gambit_fn_020BA888(cpu);
|
|
/* 020BAB18 */ cpu->r[3] = cpu->r[29];
|
|
/* 020BAB1C */ Gambit_fn_0206A274(cpu);
|
|
/* 020BAB20 */ cpu->r[3] = cpu->r[29] + 0x000001DCu;
|
|
/* 020BAB24 */ cpu->r[4] = 0x00000001u;
|
|
/* 020BAB28 */ Gambit_fn_020540A8(cpu);
|
|
/* 020BAB2C */ _t46 = cpu->r[29] + 0x000001ACu;
|
|
/* 020BAB2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 020BAB30 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020BAB34 */ cpu->r[9] = 0x00000000u;
|
|
/* 020BAB38 */ _t47 = cpu->r[29] + 0x00000282u;
|
|
/* 020BAB38 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[9]);
|
|
/* 020BAB3C */ _t48 = cpu->r[29] + 0x00000281u;
|
|
/* 020BAB3C */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
L_020BAB40: ; // 0x20bab40
|
|
/* 020BAB40 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020BAB40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 020BAB44 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020BAB44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 020BAB48 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 020BAB48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 020BAB4C */ cpu->lr = cpu->r[0];
|
|
/* 020BAB50 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 020BAB50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 020BAB54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 020BAB58 */ return;
|
|
}
|
|
|
|
// fn_0209D924 @ 0x209d924
|
|
void Gambit_fn_0209D924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_0209D924: ; // 0x209d924
|
|
/* 0209D924 */ cpu->r[0] = cpu->lr;
|
|
/* 0209D928 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0209D928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D928 */ cpu->r[1] = _t0;
|
|
/* 0209D92C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0209D92C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D930 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D930 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D934 */ cpu->r[12] = 0x43300000u;
|
|
/* 0209D938 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D938 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209D93C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D940 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D944 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209D944 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D948 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D948 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D94C */ _t6 = cpu->r[11] + 0x00001888u;
|
|
/* 0209D94C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 0209D950 */ cpu->r[7] = cpu->r[10] ^ 0x80000000u;
|
|
/* 0209D954 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209D958 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D958 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209D95C */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D95C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0209D960 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D964 */ cpu->r[9] = cpu->r[9] + 0x00001828u;
|
|
/* 0209D968 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0209D96C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D96C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209D970 */ cpu->r[12] = cpu->r[12] + 0x00001894u;
|
|
/* 0209D974 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D978 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 0209D97C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D97C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D980 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D984 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209D988 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209D98C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209D990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0209D994 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209D994 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D994 */ if (_t13) goto L_0209D9A0; else goto L_0209D998;
|
|
L_0209D998: ; // 0x209d998
|
|
/* 0209D998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0209D99C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209D99C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209D99C */ if (_t15) goto L_0209D9A0; else goto L_0209D9C4;
|
|
L_0209D9A0: ; // 0x209d9a0
|
|
/* 0209D9A0 */ cpu->r[10] = 0x00000003u;
|
|
/* 0209D9A4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 0209D9A8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D9AC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D9B0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D9B8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9B8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 0209D9BC */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D9C0 */ goto L_0209D9EC;
|
|
L_0209D9C4: ; // 0x209d9c4
|
|
/* 0209D9C4 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D9C8 */ cpu->r[11] = cpu->r[11] + 0x0000188Fu;
|
|
/* 0209D9CC */ _t20 = cpu->r[11] + cpu->r[0];
|
|
/* 0209D9CC */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0209D9D0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D0 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0209D9D4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209D9D8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209D9DC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D9E4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0209D9E8 */ Gambit_fn_020BB02C(cpu);
|
|
L_0209D9EC: ; // 0x209d9ec
|
|
/* 0209D9EC */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209D9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209D9F0 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0209D9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209D9F4 */ cpu->lr = cpu->r[0];
|
|
/* 0209D9F8 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D9F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209D9FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0209DA00 */ return;
|
|
}
|
|
|
|
// fn_0209D928 @ 0x209d928
|
|
void Gambit_fn_0209D928(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_0209D928: ; // 0x209d928
|
|
/* 0209D928 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0209D928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209D928 */ cpu->r[1] = _t0;
|
|
/* 0209D92C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0209D92C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209D930 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D930 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0209D934 */ cpu->r[12] = 0x43300000u;
|
|
/* 0209D938 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D938 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209D93C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209D940 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D944 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209D944 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209D948 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D948 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209D94C */ _t6 = cpu->r[11] + 0x00001888u;
|
|
/* 0209D94C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 0209D950 */ cpu->r[7] = cpu->r[10] ^ 0x80000000u;
|
|
/* 0209D954 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209D958 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209D958 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209D95C */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0209D95C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0209D960 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209D964 */ cpu->r[9] = cpu->r[9] + 0x00001828u;
|
|
/* 0209D968 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0209D96C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0209D96C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0209D970 */ cpu->r[12] = cpu->r[12] + 0x00001894u;
|
|
/* 0209D974 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209D978 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 0209D97C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209D97C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209D980 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209D984 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209D988 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209D98C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209D98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209D990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0209D994 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209D994 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209D994 */ if (_t13) goto L_0209D9A0; else goto L_0209D998;
|
|
L_0209D998: ; // 0x209d998
|
|
/* 0209D998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0209D99C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209D99C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209D99C */ if (_t15) goto L_0209D9A0; else goto L_0209D9C4;
|
|
L_0209D9A0: ; // 0x209d9a0
|
|
/* 0209D9A0 */ cpu->r[10] = 0x00000003u;
|
|
/* 0209D9A4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 0209D9A8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209D9AC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209D9B0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D9B8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9B8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 0209D9BC */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209D9C0 */ goto L_0209D9EC;
|
|
L_0209D9C4: ; // 0x209d9c4
|
|
/* 0209D9C4 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209D9C8 */ cpu->r[11] = cpu->r[11] + 0x0000188Fu;
|
|
/* 0209D9CC */ _t20 = cpu->r[11] + cpu->r[0];
|
|
/* 0209D9CC */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0209D9D0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D0 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0209D9D4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209D9D8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0209D9D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209D9DC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209D9E4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209D9E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 0209D9E8 */ Gambit_fn_020BB02C(cpu);
|
|
L_0209D9EC: ; // 0x209d9ec
|
|
/* 0209D9EC */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209D9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209D9F0 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0209D9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0209D9F4 */ cpu->lr = cpu->r[0];
|
|
/* 0209D9F8 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0209D9F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209D9FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0209DA00 */ return;
|
|
}
|
|
|
|
// fn_0209DA08 @ 0x209da08
|
|
void Gambit_fn_0209DA08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209DA08: ; // 0x209da08
|
|
/* 0209DA08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DA08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DA08 */ cpu->r[1] = _t0;
|
|
/* 0209DA0C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DA10 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DA14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DA18 */ cpu->r[12] = cpu->r[12] + 0x000018A0u;
|
|
/* 0209DA1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DA20 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209DA24 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DA28 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA28 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209DA2C */ cpu->r[0] = cpu->r[0] + 0x00001828u;
|
|
/* 0209DA30 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA34 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DA34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209DA38 */ Gambit_fn_027ED798(cpu);
|
|
/* 0209DA3C */ cpu->r[0] = 0x00000007u;
|
|
/* 0209DA40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DA44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DA48 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DA48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209DA4C */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209DA50 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209DA54 */ cpu->lr = cpu->r[0];
|
|
/* 0209DA58 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209DA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DA60 */ return;
|
|
}
|
|
|
|
// fn_0209DA6C @ 0x209da6c
|
|
void Gambit_fn_0209DA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209DA6C: ; // 0x209da6c
|
|
/* 0209DA6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DA6C */ cpu->r[1] = _t0;
|
|
/* 0209DA70 */ cpu->r[12] = cpu->r[12] + 0x00001828u;
|
|
/* 0209DA74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DA78 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DA78 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0209DA7C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DA80 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DA84 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DA88 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DA88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209DA8C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DA90 */ _t4 = cpu->r[10] + 0x000018ACu;
|
|
/* 0209DA90 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0209DA94 */ cpu->r[0] = cpu->r[0] + 0x000018B0u;
|
|
/* 0209DA98 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA9C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DA9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209DAA0 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 0209DAA4 */ cpu->r[11] = 0x00000008u;
|
|
/* 0209DAA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DAAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAB0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0209DAB4 */ Gambit_fn_020BB02C(cpu);
|
|
/* 0209DAB8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209DABC */ cpu->lr = cpu->r[0];
|
|
/* 0209DAC0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209DAC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DAC8 */ return;
|
|
}
|
|
|
|
// fn_0209DACC @ 0x209dacc
|
|
void Gambit_fn_0209DACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209DACC: ; // 0x209dacc
|
|
/* 0209DACC */ cpu->r[0] = cpu->lr;
|
|
/* 0209DAD0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209DAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DAD0 */ cpu->r[1] = _t0;
|
|
/* 0209DAD4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DAD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DADC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAE0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DAE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209DAE4 */ Gambit_fn_020BB0A4(cpu);
|
|
/* 0209DAE8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209DAEC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u);
|
|
/* 0209DAF4 */ cpu->r[10] = cpu->r[10] + 0x00001828u;
|
|
/* 0209DAF8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DAF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DAF8 */ if (_t5) goto L_0209DAFC; else goto L_0209DB28;
|
|
L_0209DAFC: ; // 0x209dafc
|
|
/* 0209DAFC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DB00 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DB00 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0209DB04 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DB08 */ cpu->r[0] = cpu->r[0] + 0x000018B8u;
|
|
/* 0209DB0C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DB10 */ _t7 = cpu->r[12] + 0x000018ACu;
|
|
/* 0209DB10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0209DB14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DB18 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209DB1C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DB1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209DB20 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 0209DB24 */ goto L_0209DB50;
|
|
L_0209DB28: ; // 0x209db28
|
|
/* 0209DB28 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DB2C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DB2C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209DB30 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DB34 */ cpu->r[0] = cpu->r[0] + 0x000018CCu;
|
|
/* 0209DB38 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0209DB3C */ _t10 = cpu->r[12] + 0x000018ACu;
|
|
/* 0209DB3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0209DB40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DB44 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209DB48 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DB48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DB4C */ Gambit_fn_027ED1E4(cpu);
|
|
L_0209DB50: ; // 0x209db50
|
|
/* 0209DB50 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209DB54 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DB54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209DB58 */ cpu->lr = cpu->r[0];
|
|
/* 0209DB5C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209DB60 */ return;
|
|
}
|
|
|
|
// fn_0209DAD0 @ 0x209dad0
|
|
void Gambit_fn_0209DAD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209DAD0: ; // 0x209dad0
|
|
/* 0209DAD0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209DAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DAD0 */ cpu->r[1] = _t0;
|
|
/* 0209DAD4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DAD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DADC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAE0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DAE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209DAE4 */ Gambit_fn_020BB0A4(cpu);
|
|
/* 0209DAE8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DAE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209DAEC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000007u);
|
|
/* 0209DAF4 */ cpu->r[10] = cpu->r[10] + 0x00001828u;
|
|
/* 0209DAF8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DAF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DAF8 */ if (_t5) goto L_0209DAFC; else goto L_0209DB28;
|
|
L_0209DAFC: ; // 0x209dafc
|
|
/* 0209DAFC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DB00 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DB00 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0209DB04 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DB08 */ cpu->r[0] = cpu->r[0] + 0x000018B8u;
|
|
/* 0209DB0C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DB10 */ _t7 = cpu->r[12] + 0x000018ACu;
|
|
/* 0209DB10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0209DB14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DB18 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209DB1C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DB1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0209DB20 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 0209DB24 */ goto L_0209DB50;
|
|
L_0209DB28: ; // 0x209db28
|
|
/* 0209DB28 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DB2C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DB2C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209DB30 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DB34 */ cpu->r[0] = cpu->r[0] + 0x000018CCu;
|
|
/* 0209DB38 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0209DB3C */ _t10 = cpu->r[12] + 0x000018ACu;
|
|
/* 0209DB3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0209DB40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DB44 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209DB48 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DB48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DB4C */ Gambit_fn_027ED1E4(cpu);
|
|
L_0209DB50: ; // 0x209db50
|
|
/* 0209DB50 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209DB54 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DB54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209DB58 */ cpu->lr = cpu->r[0];
|
|
/* 0209DB5C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209DB60 */ return;
|
|
}
|
|
|
|
// fn_0209DB64 @ 0x209db64
|
|
void Gambit_fn_0209DB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209DB64: ; // 0x209db64
|
|
/* 0209DB64 */ _t0 = cpu->r[3] + 0x0000028Cu;
|
|
/* 0209DB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209DB6C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209DB6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209DB6C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0209DB6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209DB6C */ goto L_0209DB70;
|
|
L_0209DB70: ; // 0x209db70
|
|
/* 0209DB70 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209DB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209DB74 */ _t4 = cpu->r[3] + 0x0000028Cu;
|
|
/* 0209DB74 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209DB78 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209DB78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209DB78 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209DB78 */ goto L_0209DB7C;
|
|
L_0209DB7C: ; // 0x209db7c
|
|
/* 0209DB7C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0209DB7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209DB80 */ _t8 = cpu->r[12] + 0x00000174u;
|
|
/* 0209DB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209DB84 */ cpu->ctr = cpu->r[0];
|
|
/* 0209DB88 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209DB8C @ 0x209db8c
|
|
void Gambit_fn_0209DB8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_0209DB8C: ; // 0x209db8c
|
|
/* 0209DB8C */ cpu->r[0] = cpu->lr;
|
|
/* 0209DB90 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0209DB90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DB90 */ cpu->r[1] = _t0;
|
|
/* 0209DB94 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0209DB94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209DB98 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209DB9C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DB9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209DBA0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209DBA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209DBA4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DBA8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0209DBA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209DBAC */ cpu->r[29] = 0x10010000u;
|
|
/* 0209DBB0 */ cpu->r[30] = cpu->r[30] + 0x000018E0u;
|
|
/* 0209DBB4 */ cpu->r[29] = cpu->r[29] + 0x00001828u;
|
|
/* 0209DBB8 */ cpu->r[10] = cpu->r[10] + 0x000018D8u;
|
|
/* 0209DBBC */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBBC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0209DBC0 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0209DBC4 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBC8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DBC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0209DBCC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209DBD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DBD4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DBD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0209DBD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBE0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DBE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 0209DBE4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DBE8 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DBEC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DBEC */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0209DBF0 */ cpu->r[11] = cpu->r[11] + 0x00001900u;
|
|
/* 0209DBF4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBF4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 0209DBF8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBFC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209DC00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC04 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC04 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0209DC08 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC0C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0209DC10 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC14 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC14 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0209DC18 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC1C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC1C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0209DC20 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DC24 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC24 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0209DC28 */ cpu->r[12] = cpu->r[12] + 0x0000190Cu;
|
|
/* 0209DC2C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC2C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0209DC30 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC34 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC34 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0209DC38 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC3C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC3C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0209DC40 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC44 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC48 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC48 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0209DC4C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC50 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DC54 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC54 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0209DC58 */ cpu->r[0] = cpu->r[0] + 0x00001918u;
|
|
/* 0209DC5C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC5C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0209DC60 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC64 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC64 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0209DC68 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209DC6C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC6C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0209DC70 */ cpu->r[30] = cpu->r[30] + 0x000018F0u;
|
|
/* 0209DC74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC78 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC78 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0209DC7C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC80 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC84 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC84 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209DC88 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC8C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DC90 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC90 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0209DC94 */ cpu->r[0] = cpu->r[0] + 0x00001924u;
|
|
/* 0209DC98 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC98 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 0209DC9C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DCA0 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DCA0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 0209DCA4 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209DCA8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DCA8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209DCAC */ cpu->r[9] = cpu->r[9] + 0x00001938u;
|
|
/* 0209DCB0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DCB4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DCB4 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 0209DCB8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DCBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DCC0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DCC0 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 0209DCC4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DCC8 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DCC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0209DCCC */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 0209DCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0209DCD0 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209DCD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209DCD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209DCD8 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 0209DCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209DCDC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0209DCE0 */ return;
|
|
}
|
|
|
|
// fn_0209DB90 @ 0x209db90
|
|
void Gambit_fn_0209DB90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_0209DB90: ; // 0x209db90
|
|
/* 0209DB90 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0209DB90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DB90 */ cpu->r[1] = _t0;
|
|
/* 0209DB94 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0209DB94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0209DB98 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209DB9C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DB9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0209DBA0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209DBA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0209DBA4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DBA8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0209DBA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209DBAC */ cpu->r[29] = 0x10010000u;
|
|
/* 0209DBB0 */ cpu->r[30] = cpu->r[30] + 0x000018E0u;
|
|
/* 0209DBB4 */ cpu->r[29] = cpu->r[29] + 0x00001828u;
|
|
/* 0209DBB8 */ cpu->r[10] = cpu->r[10] + 0x000018D8u;
|
|
/* 0209DBBC */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBBC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0209DBC0 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0209DBC4 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBC8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DBC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0209DBCC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBCC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209DBD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DBD4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DBD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0209DBD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBE0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DBE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 0209DBE4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DBE8 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DBEC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DBEC */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0209DBF0 */ cpu->r[11] = cpu->r[11] + 0x00001900u;
|
|
/* 0209DBF4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DBF4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 0209DBF8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DBFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DBFC */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209DC00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC04 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC04 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0209DC08 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC0C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0209DC10 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC14 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC14 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0209DC18 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC1C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC1C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0209DC20 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DC24 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC24 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0209DC28 */ cpu->r[12] = cpu->r[12] + 0x0000190Cu;
|
|
/* 0209DC2C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC2C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0209DC30 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC34 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC34 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0209DC38 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC3C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC3C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0209DC40 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC44 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC48 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC48 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0209DC4C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC50 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DC54 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DC54 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0209DC58 */ cpu->r[0] = cpu->r[0] + 0x00001918u;
|
|
/* 0209DC5C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DC5C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0209DC60 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC64 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC64 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0209DC68 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209DC6C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC6C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0209DC70 */ cpu->r[30] = cpu->r[30] + 0x000018F0u;
|
|
/* 0209DC74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DC78 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC78 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0209DC7C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DC80 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC84 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DC84 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209DC88 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DC8C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DC90 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DC90 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0209DC94 */ cpu->r[0] = cpu->r[0] + 0x00001924u;
|
|
/* 0209DC98 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DC98 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 0209DC9C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DCA0 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DCA0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 0209DCA4 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209DCA8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0209DCA8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209DCAC */ cpu->r[9] = cpu->r[9] + 0x00001938u;
|
|
/* 0209DCB0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DCB4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DCB4 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 0209DCB8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209DCBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DCC0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DCC0 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 0209DCC4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209DCC8 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DCC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0209DCCC */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 0209DCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0209DCD0 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209DCD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209DCD4 */ cpu->lr = cpu->r[0];
|
|
/* 0209DCD8 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 0209DCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209DCDC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0209DCE0 */ return;
|
|
}
|
|
|
|
// fn_0209DCE4 @ 0x209dce4
|
|
void Gambit_fn_0209DCE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209DCE4: ; // 0x209dce4
|
|
/* 0209DCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209DCE8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DCE8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209DCE8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209DCE8 */ goto L_0209DCEC;
|
|
L_0209DCEC: ; // 0x209dcec
|
|
/* 0209DCEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209DCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209DCF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DCF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209DCF0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209DCF0 */ goto L_0209DCF4;
|
|
L_0209DCF4: ; // 0x209dcf4
|
|
/* 0209DCF4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209DCF8 @ 0x209dcf8
|
|
void Gambit_fn_0209DCF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209DCF8: ; // 0x209dcf8
|
|
/* 0209DCF8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209DCFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209DCFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DCFC */ cpu->r[1] = _t0;
|
|
/* 0209DD00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DD04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209DD08 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209DD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD0C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209DD10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209DD14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DD14 */ if (_t5) goto L_0209DD84; else goto L_0209DD18;
|
|
L_0209DD18: ; // 0x209dd18
|
|
/* 0209DD18 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD1C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DD20 */ cpu->r[0] = cpu->r[0] + 0x00001B3Cu;
|
|
/* 0209DD24 */ cpu->r[12] = cpu->r[12] + 0x00001B5Cu;
|
|
/* 0209DD28 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209DD2C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DD30 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD30 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209DD34 */ cpu->r[11] = cpu->r[11] + 0x00001B4Cu;
|
|
/* 0209DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD3C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD3C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209DD40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209DD40 */ if (_t10) goto L_0209DD74; else goto L_0209DD44;
|
|
L_0209DD44: ; // 0x209dd44
|
|
/* 0209DD44 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DD48 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD4C */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209DD50 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209DD54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD58 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD58 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DD5C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD60 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD60 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209DD64 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209DD68 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DD6C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD6C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209DD70 */ Gambit_fn_02068798(cpu);
|
|
L_0209DD74: ; // 0x209dd74
|
|
/* 0209DD74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209DD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209DD78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209DD78 */ if (_t15) goto L_0209DD84; else goto L_0209DD7C;
|
|
L_0209DD7C: ; // 0x209dd7c
|
|
/* 0209DD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD80 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209DD84: ; // 0x209dd84
|
|
/* 0209DD84 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209DD88 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209DD8C */ cpu->lr = cpu->r[0];
|
|
/* 0209DD90 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209DD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DD98 */ return;
|
|
}
|
|
|
|
// fn_0209DCFC @ 0x209dcfc
|
|
void Gambit_fn_0209DCFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209DCFC: ; // 0x209dcfc
|
|
/* 0209DCFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209DCFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DCFC */ cpu->r[1] = _t0;
|
|
/* 0209DD00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DD04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209DD08 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209DD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD0C */ cpu->r[31] = cpu->r[4];
|
|
/* 0209DD10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209DD14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DD14 */ if (_t5) goto L_0209DD84; else goto L_0209DD18;
|
|
L_0209DD18: ; // 0x209dd18
|
|
/* 0209DD18 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD1C */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DD20 */ cpu->r[0] = cpu->r[0] + 0x00001B3Cu;
|
|
/* 0209DD24 */ cpu->r[12] = cpu->r[12] + 0x00001B5Cu;
|
|
/* 0209DD28 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209DD2C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DD30 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD30 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209DD34 */ cpu->r[11] = cpu->r[11] + 0x00001B4Cu;
|
|
/* 0209DD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209DD3C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD3C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209DD40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209DD40 */ if (_t10) goto L_0209DD74; else goto L_0209DD44;
|
|
L_0209DD44: ; // 0x209dd44
|
|
/* 0209DD44 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DD48 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD4C */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209DD50 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209DD54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD58 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209DD58 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DD5C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DD60 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209DD60 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209DD64 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209DD68 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DD6C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209DD6C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209DD70 */ Gambit_fn_02068798(cpu);
|
|
L_0209DD74: ; // 0x209dd74
|
|
/* 0209DD74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209DD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209DD78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DD78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209DD78 */ if (_t15) goto L_0209DD84; else goto L_0209DD7C;
|
|
L_0209DD7C: ; // 0x209dd7c
|
|
/* 0209DD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0209DD80 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209DD84: ; // 0x209dd84
|
|
/* 0209DD84 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209DD88 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DD88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209DD8C */ cpu->lr = cpu->r[0];
|
|
/* 0209DD90 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209DD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DD98 */ return;
|
|
}
|
|
|
|
// fn_0209DD9C @ 0x209dd9c
|
|
void Gambit_fn_0209DD9C(CPUState* cpu) {
|
|
L_0209DD9C: ; // 0x209dd9c
|
|
/* 0209DD9C */ return;
|
|
}
|
|
|
|
// fn_0209DDA0 @ 0x209dda0
|
|
void Gambit_fn_0209DDA0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209DDA0: ; // 0x209dda0
|
|
/* 0209DDA0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209DDA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DDA4 */ return;
|
|
}
|
|
|
|
// fn_0209DDA8 @ 0x209dda8
|
|
void Gambit_fn_0209DDA8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209DDA8: ; // 0x209dda8
|
|
/* 0209DDA8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209DDA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DDAC */ return;
|
|
}
|
|
|
|
// fn_0209DDB0 @ 0x209ddb0
|
|
void Gambit_fn_0209DDB0(CPUState* cpu) {
|
|
L_0209DDB0: ; // 0x209ddb0
|
|
/* 0209DDB0 */ return;
|
|
}
|
|
|
|
// fn_0209DDB4 @ 0x209ddb4
|
|
void Gambit_fn_0209DDB4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209DDB4: ; // 0x209ddb4
|
|
/* 0209DDB4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209DDB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DDB8 */ return;
|
|
}
|
|
|
|
// fn_0209DDBC @ 0x209ddbc
|
|
void Gambit_fn_0209DDBC(CPUState* cpu) {
|
|
L_0209DDBC: ; // 0x209ddbc
|
|
/* 0209DDBC */ return;
|
|
}
|
|
|
|
// fn_0209DDC0 @ 0x209ddc0
|
|
void Gambit_fn_0209DDC0(CPUState* cpu) {
|
|
L_0209DDC0: ; // 0x209ddc0
|
|
/* 0209DDC0 */ return;
|
|
}
|
|
|
|
// fn_0209DDC4 @ 0x209ddc4
|
|
void Gambit_fn_0209DDC4(CPUState* cpu) {
|
|
L_0209DDC4: ; // 0x209ddc4
|
|
/* 0209DDC4 */ return;
|
|
}
|
|
|
|
// fn_0209DDC8 @ 0x209ddc8
|
|
void Gambit_fn_0209DDC8(CPUState* cpu) {
|
|
L_0209DDC8: ; // 0x209ddc8
|
|
/* 0209DDC8 */ return;
|
|
}
|
|
|
|
// fn_0209DDCC @ 0x209ddcc
|
|
void Gambit_fn_0209DDCC(CPUState* cpu) {
|
|
L_0209DDCC: ; // 0x209ddcc
|
|
/* 0209DDCC */ return;
|
|
}
|
|
|
|
// fn_0209DDD0 @ 0x209ddd0
|
|
void Gambit_fn_0209DDD0(CPUState* cpu) {
|
|
L_0209DDD0: ; // 0x209ddd0
|
|
/* 0209DDD0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209DDD4 */ return;
|
|
}
|
|
|
|
// fn_0209DDD8 @ 0x209ddd8
|
|
void Gambit_fn_0209DDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209DDD8: ; // 0x209ddd8
|
|
/* 0209DDD8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209DDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DDDC */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209DDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209DDE0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209DDE4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209DDE8 @ 0x209dde8
|
|
void Gambit_fn_0209DDE8(CPUState* cpu) {
|
|
L_0209DDE8: ; // 0x209dde8
|
|
/* 0209DDE8 */ return;
|
|
}
|
|
|
|
// fn_0209DDEC @ 0x209ddec
|
|
void Gambit_fn_0209DDEC(CPUState* cpu) {
|
|
L_0209DDEC: ; // 0x209ddec
|
|
/* 0209DDEC */ cpu->r[3] = 0x00000000u;
|
|
/* 0209DDF0 */ return;
|
|
}
|
|
|
|
// fn_0209DDF4 @ 0x209ddf4
|
|
void Gambit_fn_0209DDF4(CPUState* cpu) {
|
|
L_0209DDF4: ; // 0x209ddf4
|
|
/* 0209DDF4 */ return;
|
|
}
|
|
|
|
// fn_0209DDF8 @ 0x209ddf8
|
|
void Gambit_fn_0209DDF8(CPUState* cpu) {
|
|
L_0209DDF8: ; // 0x209ddf8
|
|
/* 0209DDF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209DDFC */ return;
|
|
}
|
|
|
|
// fn_0209DE00 @ 0x209de00
|
|
void Gambit_fn_0209DE00(CPUState* cpu) {
|
|
L_0209DE00: ; // 0x209de00
|
|
/* 0209DE00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209DE04 */ return;
|
|
}
|
|
|
|
// fn_0209DE08 @ 0x209de08
|
|
void Gambit_fn_0209DE08(CPUState* cpu) {
|
|
L_0209DE08: ; // 0x209de08
|
|
/* 0209DE08 */ return;
|
|
}
|
|
|
|
// fn_0209DE0C @ 0x209de0c
|
|
void Gambit_fn_0209DE0C(CPUState* cpu) {
|
|
L_0209DE0C: ; // 0x209de0c
|
|
/* 0209DE0C */ return;
|
|
}
|
|
|
|
// fn_0209DE10 @ 0x209de10
|
|
void Gambit_fn_0209DE10(CPUState* cpu) {
|
|
L_0209DE10: ; // 0x209de10
|
|
/* 0209DE10 */ return;
|
|
}
|
|
|
|
// fn_0209DE14 @ 0x209de14
|
|
void Gambit_fn_0209DE14(CPUState* cpu) {
|
|
L_0209DE14: ; // 0x209de14
|
|
/* 0209DE14 */ return;
|
|
}
|
|
|
|
// fn_0209DE18 @ 0x209de18
|
|
void Gambit_fn_0209DE18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209DE18: ; // 0x209de18
|
|
/* 0209DE18 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209DE1C */ _t0 = cpu->r[12] + 0xFFFFE370u;
|
|
/* 0209DE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209DE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209DE24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209DE28 */ cpu->r[12] = cpu->r[12] + 0xFFFFEE18u;
|
|
/* 0209DE2C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DE2C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209DE2C */ if (_t2) goto L_0209DE30; else goto L_0209DE48;
|
|
L_0209DE30: ; // 0x209de30
|
|
/* 0209DE30 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DE34 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209DE38 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209DE3C */ cpu->r[0] = cpu->r[0] + 0x00001850u;
|
|
/* 0209DE40 */ _t3 = cpu->r[8] + 0xFFFFE370u;
|
|
/* 0209DE40 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0209DE44 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209DE44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0209DE48: ; // 0x209de48
|
|
/* 0209DE48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209DE4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DE4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209DE4C */ if (_t6) goto L_0209DE50; else goto L_0209DE58;
|
|
L_0209DE50: ; // 0x209de50
|
|
/* 0209DE50 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209DE54 */ return;
|
|
L_0209DE58: ; // 0x209de58
|
|
/* 0209DE58 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209DE5C */ _t7 = cpu->r[11] + 0xFFFFDBA0u;
|
|
/* 0209DE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209DE5C */ cpu->r[11] = _t7;
|
|
/* 0209DE60 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0209DE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209DE68 */ cpu->r[10] = cpu->r[10] + 0xFFFFED90u;
|
|
/* 0209DE6C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DE6C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209DE6C */ if (_t9) goto L_0209DE70; else goto L_0209DE84;
|
|
L_0209DE70: ; // 0x209de70
|
|
/* 0209DE70 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DE74 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209DE78 */ cpu->r[12] = cpu->r[12] + 0x00001840u;
|
|
/* 0209DE7C */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0209DE7C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209DE80 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0209DE80 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0209DE84: ; // 0x209de84
|
|
/* 0209DE84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0209DE88 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DE88 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209DE88 */ if (_t13) goto L_0209DE8C; else goto L_0209DE94;
|
|
L_0209DE8C: ; // 0x209de8c
|
|
/* 0209DE8C */ cpu->r[0] = 0x00000001u;
|
|
/* 0209DE90 */ goto L_0209DECC;
|
|
L_0209DE94: ; // 0x209de94
|
|
/* 0209DE94 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209DE98 */ _t14 = cpu->r[8] + 0xFFFFDB98u;
|
|
/* 0209DE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209DE98 */ cpu->r[8] = _t14;
|
|
/* 0209DE9C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209DEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209DEA4 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209DEA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DEA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209DEA8 */ if (_t16) goto L_0209DEAC; else goto L_0209DEC0;
|
|
L_0209DEAC: ; // 0x209deac
|
|
/* 0209DEAC */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DEB0 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209DEB4 */ cpu->r[10] = cpu->r[10] + 0x00001818u;
|
|
/* 0209DEB8 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0209DEB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0209DEBC */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0209DEBC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0209DEC0: ; // 0x209dec0
|
|
/* 0209DEC0 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209DEC4 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0209DEC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0209DECC: ; // 0x209decc
|
|
/* 0209DECC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209DED0 */ return;
|
|
}
|
|
|
|
// fn_0209DED4 @ 0x209ded4
|
|
void Gambit_fn_0209DED4(CPUState* cpu) {
|
|
L_0209DED4: ; // 0x209ded4
|
|
/* 0209DED4 */ return;
|
|
}
|
|
|
|
// fn_0209DED8 @ 0x209ded8
|
|
void Gambit_fn_0209DED8(CPUState* cpu) {
|
|
L_0209DED8: ; // 0x209ded8
|
|
/* 0209DED8 */ return;
|
|
}
|
|
|
|
// fn_0209DEDC @ 0x209dedc
|
|
void Gambit_fn_0209DEDC(CPUState* cpu) {
|
|
L_0209DEDC: ; // 0x209dedc
|
|
/* 0209DEDC */ return;
|
|
}
|
|
|
|
// fn_0209DEE0 @ 0x209dee0
|
|
void Gambit_fn_0209DEE0(CPUState* cpu) {
|
|
L_0209DEE0: ; // 0x209dee0
|
|
/* 0209DEE0 */ return;
|
|
}
|
|
|
|
// fn_0209DEE4 @ 0x209dee4
|
|
void Gambit_fn_0209DEE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02053FB0: ; // 0x2053fb0
|
|
/* 02053FB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02053FB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02053FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02053FB4 */ cpu->r[1] = _t0;
|
|
/* 02053FB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02053FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02053FBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02053FC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02053FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02053FC4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02053FC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02053FC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02053FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02053FD0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02053FD0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02053FD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02053FD4 */ if (_t6) goto L_02053FFC; else goto L_02053FD8;
|
|
L_02053FD8: ; // 0x2053fd8
|
|
/* 02053FD8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02053FD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02053FDC */ /* nop */
|
|
/* 02053FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02053FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02053FE4 */ if (_t9) goto L_02053FE8; else goto L_02053FFC;
|
|
L_02053FE8: ; // 0x2053fe8
|
|
/* 02053FE8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02053FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02053FEC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02053FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02053FF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02053FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02053FF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02053FFC: ; // 0x2053ffc
|
|
/* 02053FFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02054000 */ Gambit_fn_02053F28(cpu);
|
|
/* 02054004 */ cpu->r[3] = cpu->r[31];
|
|
/* 02054008 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0205400C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0205400C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02054010 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02054010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02054014 */ cpu->lr = cpu->r[0];
|
|
/* 02054018 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0205401C */ return;
|
|
L_0209DEE4: ; // 0x209dee4
|
|
/* 0209DEE4 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209DEE8 */ goto L_02053FB0;
|
|
}
|
|
|
|
// fn_0209DEEC @ 0x209deec
|
|
void Gambit_fn_0209DEEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209DEEC: ; // 0x209deec
|
|
/* 0209DEEC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0209DEF0 */ goto L_0209E13C;
|
|
L_0209E13C: ; // 0x209e13c
|
|
/* 0209E13C */ cpu->r[0] = cpu->lr;
|
|
/* 0209E140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E140 */ cpu->r[1] = _t0;
|
|
/* 0209E144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209E154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209E158 */ if (_t5) goto L_0209E1C8; else goto L_0209E15C;
|
|
L_0209E15C: ; // 0x209e15c
|
|
/* 0209E15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E164 */ cpu->r[0] = cpu->r[0] + 0x00001E68u;
|
|
/* 0209E168 */ cpu->r[12] = cpu->r[12] + 0x00001E88u;
|
|
/* 0209E16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209E170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209E178 */ cpu->r[11] = cpu->r[11] + 0x00001E78u;
|
|
/* 0209E17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209E184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E184 */ if (_t10) goto L_0209E1B8; else goto L_0209E188;
|
|
L_0209E188: ; // 0x209e188
|
|
/* 0209E188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E190 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209E194 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209E198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209E1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209E1A8 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209E1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209E1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209E1B8: ; // 0x209e1b8
|
|
/* 0209E1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209E1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209E1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E1BC */ if (_t15) goto L_0209E1C8; else goto L_0209E1C0;
|
|
L_0209E1C0: ; // 0x209e1c0
|
|
/* 0209E1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209E1C8: ; // 0x209e1c8
|
|
/* 0209E1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209E1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209E1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209E1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E1DC */ return;
|
|
}
|
|
|
|
// fn_0209DEF4 @ 0x209def4
|
|
void Gambit_fn_0209DEF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0209DEF4: ; // 0x209def4
|
|
/* 0209DEF4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209DEF8 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0209DEFC @ 0x209defc
|
|
void Gambit_fn_0209DEFC(CPUState* cpu) {
|
|
L_0209DEFC: ; // 0x209defc
|
|
/* 0209DEFC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209DF00 */ goto L_0209E1E0;
|
|
L_0209E1E0: ; // 0x209e1e0
|
|
/* 0209E1E0 */ return;
|
|
}
|
|
|
|
// fn_0209DF04 @ 0x209df04
|
|
void Gambit_fn_0209DF04(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209DF04: ; // 0x209df04
|
|
/* 0209DF04 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0209DF08 */ goto L_0209E1E4;
|
|
L_0209E1E4: ; // 0x209e1e4
|
|
/* 0209E1E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209E1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E1E8 */ return;
|
|
}
|
|
|
|
// fn_0209DF0C @ 0x209df0c
|
|
void Gambit_fn_0209DF0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209DF0C: ; // 0x209df0c
|
|
/* 0209DF0C */ cpu->r[0] = cpu->lr;
|
|
/* 0209DF10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209DF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DF10 */ cpu->r[1] = _t0;
|
|
/* 0209DF14 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DF14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209DF1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DF1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209DF20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DF20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209DF20 */ if (_t4) goto L_0209DF24; else goto L_0209DF34;
|
|
L_0209DF24: ; // 0x209df24
|
|
/* 0209DF24 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209DF28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209DF2C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209DF30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DF30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209DF30 */ if (_t6) goto L_0209DFA8; else goto L_0209DF34;
|
|
L_0209DF34: ; // 0x209df34
|
|
/* 0209DF34 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DF38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DF3C */ cpu->r[4] = 0x10010000u;
|
|
/* 0209DF40 */ cpu->r[11] = cpu->r[11] + 0x00001BE4u;
|
|
/* 0209DF44 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DF48 */ cpu->r[4] = cpu->r[4] + 0x00001C28u;
|
|
/* 0209DF4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DF4C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209DF50 */ cpu->r[10] = cpu->r[10] + 0x00001C1Cu;
|
|
/* 0209DF54 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DF58 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DF58 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209DF5C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DF60 */ cpu->r[12] = cpu->r[12] + 0x00001C3Cu;
|
|
/* 0209DF64 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DF64 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209DF68 */ cpu->r[7] = 0x00000001u;
|
|
/* 0209DF6C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DF70 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DF70 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209DF74 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209DF78 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DF7C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DF80 */ cpu->r[0] = cpu->r[0] + 0x00001C78u;
|
|
/* 0209DF84 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DF88 */ cpu->r[10] = cpu->r[10] + 0x00001E68u;
|
|
/* 0209DF8C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209DF8C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DF90 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DF94 */ cpu->r[12] = cpu->r[12] + 0x00001E78u;
|
|
/* 0209DF98 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209DF98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209DF9C */ cpu->r[0] = cpu->r[0] + 0x00001E88u;
|
|
/* 0209DFA0 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209DFA0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209DFA4 */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209DFA4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_0209DFA8: ; // 0x209dfa8
|
|
/* 0209DFA8 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209DFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DFB0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209DFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0209DFB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209DFBC */ return;
|
|
}
|
|
|
|
// fn_0209DF10 @ 0x209df10
|
|
void Gambit_fn_0209DF10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209DF10: ; // 0x209df10
|
|
/* 0209DF10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209DF10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DF10 */ cpu->r[1] = _t0;
|
|
/* 0209DF14 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DF14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209DF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209DF1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DF1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209DF20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DF20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209DF20 */ if (_t4) goto L_0209DF24; else goto L_0209DF34;
|
|
L_0209DF24: ; // 0x209df24
|
|
/* 0209DF24 */ cpu->r[3] = 0x0000028Cu;
|
|
/* 0209DF28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209DF2C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209DF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209DF30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DF30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209DF30 */ if (_t6) goto L_0209DFA8; else goto L_0209DF34;
|
|
L_0209DF34: ; // 0x209df34
|
|
/* 0209DF34 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DF38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DF3C */ cpu->r[4] = 0x10010000u;
|
|
/* 0209DF40 */ cpu->r[11] = cpu->r[11] + 0x00001BE4u;
|
|
/* 0209DF44 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DF48 */ cpu->r[4] = cpu->r[4] + 0x00001C28u;
|
|
/* 0209DF4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DF4C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209DF50 */ cpu->r[10] = cpu->r[10] + 0x00001C1Cu;
|
|
/* 0209DF54 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DF58 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209DF58 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209DF5C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209DF60 */ cpu->r[12] = cpu->r[12] + 0x00001C3Cu;
|
|
/* 0209DF64 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0209DF64 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0209DF68 */ cpu->r[7] = 0x00000001u;
|
|
/* 0209DF6C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0209DF70 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0209DF70 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0209DF74 */ Gambit_fn_020B9D84(cpu);
|
|
/* 0209DF78 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DF7C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209DF80 */ cpu->r[0] = cpu->r[0] + 0x00001C78u;
|
|
/* 0209DF84 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DF88 */ cpu->r[10] = cpu->r[10] + 0x00001E68u;
|
|
/* 0209DF8C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209DF8C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209DF90 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DF94 */ cpu->r[12] = cpu->r[12] + 0x00001E78u;
|
|
/* 0209DF98 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0209DF98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209DF9C */ cpu->r[0] = cpu->r[0] + 0x00001E88u;
|
|
/* 0209DFA0 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209DFA0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0209DFA4 */ _t14 = cpu->r[31] + 0x000001C8u;
|
|
/* 0209DFA4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_0209DFA8: ; // 0x209dfa8
|
|
/* 0209DFA8 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0209DFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209DFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0209DFB0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209DFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209DFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0209DFB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209DFBC */ return;
|
|
}
|
|
|
|
// fn_0209DFC0 @ 0x209dfc0
|
|
void Gambit_fn_0209DFC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209DFC0: ; // 0x209dfc0
|
|
/* 0209DFC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0209DFC4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209DFC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209DFC8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DFC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209DFC8 */ cpu->r[1] = _t1;
|
|
/* 0209DFCC */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0209DFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209DFD0 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0209DFD8 */ _t3 = cpu->r[12] + 0x00001C4Cu;
|
|
/* 0209DFD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0209DFDC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DFDC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209DFDC */ if (_t5) goto L_0209DFE0; else goto L_0209E010;
|
|
L_0209DFE0: ; // 0x209dfe0
|
|
/* 0209DFE0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DFE4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DFE8 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DFEC */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209DFF0 */ _t6 = cpu->r[12] + 0x00001C50u;
|
|
/* 0209DFF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0209DFF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DFF8 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209DFFC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DFFC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209E000 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E004 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E004 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209E008 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209E00C */ goto L_0209E07C;
|
|
L_0209E010: ; // 0x209e010
|
|
/* 0209E010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0209E014 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E014 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E014 */ if (_t10) goto L_0209E018; else goto L_0209E048;
|
|
L_0209E018: ; // 0x209e018
|
|
/* 0209E018 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E01C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E020 */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209E024 */ _t11 = cpu->r[11] + 0x00001C54u;
|
|
/* 0209E024 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0209E028 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E02C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E030 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E030 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209E034 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209E038 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E03C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E03C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0209E040 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209E044 */ goto L_0209E07C;
|
|
L_0209E048: ; // 0x209e048
|
|
/* 0209E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0209E04C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E04C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E04C */ if (_t15) goto L_0209E050; else goto L_0209E058;
|
|
L_0209E050: ; // 0x209e050
|
|
/* 0209E050 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E054 */ _t16 = cpu->r[12] + 0x00001C58u;
|
|
/* 0209E054 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
L_0209E058: ; // 0x209e058
|
|
/* 0209E058 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E05C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E060 */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209E064 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209E068 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E06C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E06C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0209E070 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E074 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E074 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0209E078 */ Gambit_fn_027ED914(cpu);
|
|
L_0209E07C: ; // 0x209e07c
|
|
/* 0209E07C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209E080 */ cpu->lr = cpu->r[0];
|
|
/* 0209E084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E088 */ return;
|
|
}
|
|
|
|
// fn_0209DFC8 @ 0x209dfc8
|
|
void Gambit_fn_0209DFC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209DFC8: ; // 0x209dfc8
|
|
/* 0209DFC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209DFC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209DFC8 */ cpu->r[1] = _t0;
|
|
/* 0209DFCC */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0209DFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209DFD0 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0209DFD8 */ _t2 = cpu->r[12] + 0x00001C4Cu;
|
|
/* 0209DFD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0209DFDC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209DFDC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209DFDC */ if (_t4) goto L_0209DFE0; else goto L_0209E010;
|
|
L_0209DFE0: ; // 0x209dfe0
|
|
/* 0209DFE0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209DFE4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209DFE8 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209DFEC */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209DFF0 */ _t5 = cpu->r[12] + 0x00001C50u;
|
|
/* 0209DFF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0209DFF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209DFF8 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209DFFC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209DFFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209E000 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E004 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E004 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209E008 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209E00C */ goto L_0209E07C;
|
|
L_0209E010: ; // 0x209e010
|
|
/* 0209E010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0209E014 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E014 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209E014 */ if (_t9) goto L_0209E018; else goto L_0209E048;
|
|
L_0209E018: ; // 0x209e018
|
|
/* 0209E018 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E01C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E020 */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209E024 */ _t10 = cpu->r[11] + 0x00001C54u;
|
|
/* 0209E024 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0209E028 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E02C */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E030 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E030 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209E034 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209E038 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E03C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E03C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0209E040 */ Gambit_fn_027ED914(cpu);
|
|
/* 0209E044 */ goto L_0209E07C;
|
|
L_0209E048: ; // 0x209e048
|
|
/* 0209E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0209E04C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E04C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209E04C */ if (_t14) goto L_0209E050; else goto L_0209E058;
|
|
L_0209E050: ; // 0x209e050
|
|
/* 0209E050 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E054 */ _t15 = cpu->r[12] + 0x00001C58u;
|
|
/* 0209E054 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_0209E058: ; // 0x209e058
|
|
/* 0209E058 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E05C */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E060 */ cpu->r[0] = cpu->r[0] + 0x00001BE4u;
|
|
/* 0209E064 */ cpu->r[11] = cpu->r[11] + 0x00001C5Cu;
|
|
/* 0209E068 */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E06C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E06C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0209E070 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E074 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E074 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 0209E078 */ Gambit_fn_027ED914(cpu);
|
|
L_0209E07C: ; // 0x209e07c
|
|
/* 0209E07C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209E080 */ cpu->lr = cpu->r[0];
|
|
/* 0209E084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E088 */ return;
|
|
}
|
|
|
|
// fn_0209E08C @ 0x209e08c
|
|
void Gambit_fn_0209E08C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209E08C: ; // 0x209e08c
|
|
/* 0209E08C */ cpu->r[0] = cpu->lr;
|
|
/* 0209E090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E090 */ cpu->r[1] = _t0;
|
|
/* 0209E094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E094 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E098 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E09C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E09C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E0A0 */ Gambit_fn_020BAC64(cpu);
|
|
/* 0209E0A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209E0A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E0AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0B0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E0B4 */ Gambit_fn_0209DFC0(cpu);
|
|
/* 0209E0B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E0BC */ cpu->lr = cpu->r[0];
|
|
/* 0209E0C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209E0C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E0C8 */ return;
|
|
}
|
|
|
|
// fn_0209E090 @ 0x209e090
|
|
void Gambit_fn_0209E090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209E090: ; // 0x209e090
|
|
/* 0209E090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E090 */ cpu->r[1] = _t0;
|
|
/* 0209E094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E094 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E098 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E09C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E09C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E0A0 */ Gambit_fn_020BAC64(cpu);
|
|
/* 0209E0A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209E0A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E0AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0B0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E0B4 */ Gambit_fn_0209DFC0(cpu);
|
|
/* 0209E0B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E0BC */ cpu->lr = cpu->r[0];
|
|
/* 0209E0C0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209E0C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E0C8 */ return;
|
|
}
|
|
|
|
// fn_0209E0CC @ 0x209e0cc
|
|
void Gambit_fn_0209E0CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0209E0CC: ; // 0x209e0cc
|
|
/* 0209E0CC */ cpu->r[0] = cpu->lr;
|
|
/* 0209E0D0 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E0D4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E0D8 */ cpu->r[11] = cpu->r[11] + 0x00001BE4u;
|
|
/* 0209E0DC */ cpu->r[12] = cpu->r[12] + 0x00001C64u;
|
|
/* 0209E0E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209E0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209E0E4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E0E8 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209E0E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209E0E8 */ cpu->r[1] = _t1;
|
|
/* 0209E0EC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0209E0EC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0209E0F0 */ cpu->r[0] = cpu->r[0] + 0x00001C6Cu;
|
|
/* 0209E0F4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E0F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209E0F8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E0FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0FC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0209E100 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E104 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E104 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209E108 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E10C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E10C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0209E110 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0209E110 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209E114 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209E118 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209E11C */ cpu->lr = cpu->r[0];
|
|
/* 0209E120 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E124 */ return;
|
|
}
|
|
|
|
// fn_0209E0E8 @ 0x209e0e8
|
|
void Gambit_fn_0209E0E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0209E0E8: ; // 0x209e0e8
|
|
/* 0209E0E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0209E0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E0E8 */ cpu->r[1] = _t0;
|
|
/* 0209E0EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0209E0EC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0209E0F0 */ cpu->r[0] = cpu->r[0] + 0x00001C6Cu;
|
|
/* 0209E0F4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E0F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209E0F8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E0FC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0209E100 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E104 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E104 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0209E108 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E10C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E10C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209E110 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0209E110 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209E114 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0209E118 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209E11C */ cpu->lr = cpu->r[0];
|
|
/* 0209E120 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E124 */ return;
|
|
}
|
|
|
|
// fn_0209E128 @ 0x209e128
|
|
void Gambit_fn_0209E128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209E128: ; // 0x209e128
|
|
/* 0209E128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E12C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E12C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209E12C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209E12C */ goto L_0209E130;
|
|
L_0209E130: ; // 0x209e130
|
|
/* 0209E130 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209E130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E134 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E134 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209E134 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209E134 */ goto L_0209E138;
|
|
L_0209E138: ; // 0x209e138
|
|
/* 0209E138 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209E13C @ 0x209e13c
|
|
void Gambit_fn_0209E13C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209E13C: ; // 0x209e13c
|
|
/* 0209E13C */ cpu->r[0] = cpu->lr;
|
|
/* 0209E140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E140 */ cpu->r[1] = _t0;
|
|
/* 0209E144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209E154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209E158 */ if (_t5) goto L_0209E1C8; else goto L_0209E15C;
|
|
L_0209E15C: ; // 0x209e15c
|
|
/* 0209E15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E164 */ cpu->r[0] = cpu->r[0] + 0x00001E68u;
|
|
/* 0209E168 */ cpu->r[12] = cpu->r[12] + 0x00001E88u;
|
|
/* 0209E16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209E170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209E178 */ cpu->r[11] = cpu->r[11] + 0x00001E78u;
|
|
/* 0209E17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209E184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E184 */ if (_t10) goto L_0209E1B8; else goto L_0209E188;
|
|
L_0209E188: ; // 0x209e188
|
|
/* 0209E188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E190 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209E194 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209E198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209E1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209E1A8 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209E1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209E1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209E1B8: ; // 0x209e1b8
|
|
/* 0209E1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209E1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209E1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E1BC */ if (_t15) goto L_0209E1C8; else goto L_0209E1C0;
|
|
L_0209E1C0: ; // 0x209e1c0
|
|
/* 0209E1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209E1C8: ; // 0x209e1c8
|
|
/* 0209E1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209E1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209E1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209E1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E1DC */ return;
|
|
}
|
|
|
|
// fn_0209E140 @ 0x209e140
|
|
void Gambit_fn_0209E140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209E140: ; // 0x209e140
|
|
/* 0209E140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E140 */ cpu->r[1] = _t0;
|
|
/* 0209E144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E14C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0209E154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209E158 */ if (_t5) goto L_0209E1C8; else goto L_0209E15C;
|
|
L_0209E15C: ; // 0x209e15c
|
|
/* 0209E15C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E160 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E164 */ cpu->r[0] = cpu->r[0] + 0x00001E68u;
|
|
/* 0209E168 */ cpu->r[12] = cpu->r[12] + 0x00001E88u;
|
|
/* 0209E16C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E16C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209E170 */ cpu->r[11] = 0x10010000u;
|
|
/* 0209E174 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E174 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0209E178 */ cpu->r[11] = cpu->r[11] + 0x00001E78u;
|
|
/* 0209E17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209E180 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E180 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0209E184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E184 */ if (_t10) goto L_0209E1B8; else goto L_0209E188;
|
|
L_0209E188: ; // 0x209e188
|
|
/* 0209E188 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E18C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E190 */ cpu->r[10] = cpu->r[10] + 0x0000533Cu;
|
|
/* 0209E194 */ cpu->r[0] = cpu->r[0] + 0x0000532Cu;
|
|
/* 0209E198 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E19C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0209E19C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209E1A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E1A4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0209E1A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0209E1A8 */ cpu->r[0] = cpu->r[0] + 0x0000534Cu;
|
|
/* 0209E1AC */ cpu->r[4] = 0x00000000u;
|
|
/* 0209E1B0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0209E1B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209E1B4 */ Gambit_fn_02068798(cpu);
|
|
L_0209E1B8: ; // 0x209e1b8
|
|
/* 0209E1B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209E1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209E1BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E1BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E1BC */ if (_t15) goto L_0209E1C8; else goto L_0209E1C0;
|
|
L_0209E1C0: ; // 0x209e1c0
|
|
/* 0209E1C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E1C4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0209E1C8: ; // 0x209e1c8
|
|
/* 0209E1C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E1CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0209E1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209E1D4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209E1D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E1DC */ return;
|
|
}
|
|
|
|
// fn_0209E1E0 @ 0x209e1e0
|
|
void Gambit_fn_0209E1E0(CPUState* cpu) {
|
|
L_0209E1E0: ; // 0x209e1e0
|
|
/* 0209E1E0 */ return;
|
|
}
|
|
|
|
// fn_0209E1E4 @ 0x209e1e4
|
|
void Gambit_fn_0209E1E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209E1E4: ; // 0x209e1e4
|
|
/* 0209E1E4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209E1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E1E8 */ return;
|
|
}
|
|
|
|
// fn_0209E1EC @ 0x209e1ec
|
|
void Gambit_fn_0209E1EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209E1EC: ; // 0x209e1ec
|
|
/* 0209E1EC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0209E1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E1F0 */ return;
|
|
}
|
|
|
|
// fn_0209E1F4 @ 0x209e1f4
|
|
void Gambit_fn_0209E1F4(CPUState* cpu) {
|
|
L_0209E1F4: ; // 0x209e1f4
|
|
/* 0209E1F4 */ return;
|
|
}
|
|
|
|
// fn_0209E1F8 @ 0x209e1f8
|
|
void Gambit_fn_0209E1F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0209E1F8: ; // 0x209e1f8
|
|
/* 0209E1F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E1F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E1FC */ return;
|
|
}
|
|
|
|
// fn_0209E200 @ 0x209e200
|
|
void Gambit_fn_0209E200(CPUState* cpu) {
|
|
L_0209E200: ; // 0x209e200
|
|
/* 0209E200 */ return;
|
|
}
|
|
|
|
// fn_0209E204 @ 0x209e204
|
|
void Gambit_fn_0209E204(CPUState* cpu) {
|
|
L_0209E204: ; // 0x209e204
|
|
/* 0209E204 */ return;
|
|
}
|
|
|
|
// fn_0209E208 @ 0x209e208
|
|
void Gambit_fn_0209E208(CPUState* cpu) {
|
|
L_0209E208: ; // 0x209e208
|
|
/* 0209E208 */ return;
|
|
}
|
|
|
|
// fn_0209E20C @ 0x209e20c
|
|
void Gambit_fn_0209E20C(CPUState* cpu) {
|
|
L_0209E20C: ; // 0x209e20c
|
|
/* 0209E20C */ return;
|
|
}
|
|
|
|
// fn_0209E210 @ 0x209e210
|
|
void Gambit_fn_0209E210(CPUState* cpu) {
|
|
L_0209E210: ; // 0x209e210
|
|
/* 0209E210 */ return;
|
|
}
|
|
|
|
// fn_0209E214 @ 0x209e214
|
|
void Gambit_fn_0209E214(CPUState* cpu) {
|
|
L_0209E214: ; // 0x209e214
|
|
/* 0209E214 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E218 */ return;
|
|
}
|
|
|
|
// fn_0209E21C @ 0x209e21c
|
|
void Gambit_fn_0209E21C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0209E21C: ; // 0x209e21c
|
|
/* 0209E21C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E220 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0209E220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209E224 */ cpu->ctr = cpu->r[0];
|
|
/* 0209E228 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0209E22C @ 0x209e22c
|
|
void Gambit_fn_0209E22C(CPUState* cpu) {
|
|
L_0209E22C: ; // 0x209e22c
|
|
/* 0209E22C */ return;
|
|
}
|
|
|
|
// fn_0209E230 @ 0x209e230
|
|
void Gambit_fn_0209E230(CPUState* cpu) {
|
|
L_0209E230: ; // 0x209e230
|
|
/* 0209E230 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E234 */ return;
|
|
}
|
|
|
|
// fn_0209E238 @ 0x209e238
|
|
void Gambit_fn_0209E238(CPUState* cpu) {
|
|
L_0209E238: ; // 0x209e238
|
|
/* 0209E238 */ return;
|
|
}
|
|
|
|
// fn_0209E23C @ 0x209e23c
|
|
void Gambit_fn_0209E23C(CPUState* cpu) {
|
|
L_0209E23C: ; // 0x209e23c
|
|
/* 0209E23C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E240 */ return;
|
|
}
|
|
|
|
// fn_0209E244 @ 0x209e244
|
|
void Gambit_fn_0209E244(CPUState* cpu) {
|
|
L_0209E244: ; // 0x209e244
|
|
/* 0209E244 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E248 */ return;
|
|
}
|
|
|
|
// fn_0209E24C @ 0x209e24c
|
|
void Gambit_fn_0209E24C(CPUState* cpu) {
|
|
L_0209E24C: ; // 0x209e24c
|
|
/* 0209E24C */ return;
|
|
}
|
|
|
|
// fn_0209E250 @ 0x209e250
|
|
void Gambit_fn_0209E250(CPUState* cpu) {
|
|
L_0209E250: ; // 0x209e250
|
|
/* 0209E250 */ return;
|
|
}
|
|
|
|
// fn_0209E254 @ 0x209e254
|
|
void Gambit_fn_0209E254(CPUState* cpu) {
|
|
L_0209E254: ; // 0x209e254
|
|
/* 0209E254 */ return;
|
|
}
|
|
|
|
// fn_0209E258 @ 0x209e258
|
|
void Gambit_fn_0209E258(CPUState* cpu) {
|
|
L_0209E258: ; // 0x209e258
|
|
/* 0209E258 */ return;
|
|
}
|
|
|
|
// fn_0209E25C @ 0x209e25c
|
|
void Gambit_fn_0209E25C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0209E25C: ; // 0x209e25c
|
|
/* 0209E25C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209E260 */ _t0 = cpu->r[12] + 0xFFFFE370u;
|
|
/* 0209E260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209E264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209E268 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209E26C */ cpu->r[12] = cpu->r[12] + 0xFFFFEE18u;
|
|
/* 0209E270 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E270 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0209E270 */ if (_t2) goto L_0209E274; else goto L_0209E28C;
|
|
L_0209E274: ; // 0x209e274
|
|
/* 0209E274 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E278 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209E27C */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209E280 */ cpu->r[0] = cpu->r[0] + 0x00001C0Cu;
|
|
/* 0209E284 */ _t3 = cpu->r[8] + 0xFFFFE370u;
|
|
/* 0209E284 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0209E288 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E288 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0209E28C: ; // 0x209e28c
|
|
/* 0209E28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0209E290 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E290 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209E290 */ if (_t6) goto L_0209E294; else goto L_0209E29C;
|
|
L_0209E294: ; // 0x209e294
|
|
/* 0209E294 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E298 */ return;
|
|
L_0209E29C: ; // 0x209e29c
|
|
/* 0209E29C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209E2A0 */ _t7 = cpu->r[11] + 0xFFFFDBA0u;
|
|
/* 0209E2A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209E2A0 */ cpu->r[11] = _t7;
|
|
/* 0209E2A4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0209E2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209E2AC */ cpu->r[10] = cpu->r[10] + 0xFFFFED90u;
|
|
/* 0209E2B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E2B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209E2B0 */ if (_t9) goto L_0209E2B4; else goto L_0209E2C8;
|
|
L_0209E2B4: ; // 0x209e2b4
|
|
/* 0209E2B4 */ cpu->r[12] = 0x10010000u;
|
|
/* 0209E2B8 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209E2BC */ cpu->r[12] = cpu->r[12] + 0x00001BFCu;
|
|
/* 0209E2C0 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E2C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0209E2C4 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0209E2C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0209E2C8: ; // 0x209e2c8
|
|
/* 0209E2C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0209E2CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E2CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209E2CC */ if (_t13) goto L_0209E2D0; else goto L_0209E2D8;
|
|
L_0209E2D0: ; // 0x209e2d0
|
|
/* 0209E2D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209E2D4 */ goto L_0209E310;
|
|
L_0209E2D8: ; // 0x209e2d8
|
|
/* 0209E2D8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209E2DC */ _t14 = cpu->r[8] + 0xFFFFDB98u;
|
|
/* 0209E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E2DC */ cpu->r[8] = _t14;
|
|
/* 0209E2E0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209E2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E2E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0209E2EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E2EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209E2EC */ if (_t16) goto L_0209E2F0; else goto L_0209E304;
|
|
L_0209E2F0: ; // 0x209e2f0
|
|
/* 0209E2F0 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E2F4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0209E2F8 */ cpu->r[10] = cpu->r[10] + 0x00001BD4u;
|
|
/* 0209E2FC */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0209E2FC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 0209E300 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E300 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_0209E304: ; // 0x209e304
|
|
/* 0209E304 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0209E308 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0209E30C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0209E310: ; // 0x209e310
|
|
/* 0209E310 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0209E314 */ return;
|
|
}
|
|
|
|
// fn_0209E318 @ 0x209e318
|
|
void Gambit_fn_0209E318(CPUState* cpu) {
|
|
L_0209E318: ; // 0x209e318
|
|
/* 0209E318 */ return;
|
|
}
|
|
|
|
// fn_0209E31C @ 0x209e31c
|
|
void Gambit_fn_0209E31C(CPUState* cpu) {
|
|
L_0209E31C: ; // 0x209e31c
|
|
/* 0209E31C */ return;
|
|
}
|
|
|
|
// fn_0209E320 @ 0x209e320
|
|
void Gambit_fn_0209E320(CPUState* cpu) {
|
|
L_0209E320: ; // 0x209e320
|
|
/* 0209E320 */ return;
|
|
}
|
|
|
|
// fn_0209E324 @ 0x209e324
|
|
void Gambit_fn_0209E324(CPUState* cpu) {
|
|
L_0209E324: ; // 0x209e324
|
|
/* 0209E324 */ return;
|
|
}
|
|
|
|
// fn_0209E328 @ 0x209e328
|
|
void Gambit_fn_0209E328(CPUState* cpu) {
|
|
L_0209E328: ; // 0x209e328
|
|
/* 0209E328 */ return;
|
|
}
|
|
|
|
// fn_0209E32C @ 0x209e32c
|
|
void Gambit_fn_0209E32C(CPUState* cpu) {
|
|
L_0209E32C: ; // 0x209e32c
|
|
/* 0209E32C */ return;
|
|
}
|
|
|
|
// fn_0209E330 @ 0x209e330
|
|
void Gambit_fn_0209E330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02053FB0: ; // 0x2053fb0
|
|
/* 02053FB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02053FB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02053FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02053FB4 */ cpu->r[1] = _t0;
|
|
/* 02053FB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02053FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02053FBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02053FC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02053FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02053FC4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02053FC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02053FC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02053FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02053FD0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02053FD0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02053FD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02053FD4 */ if (_t6) goto L_02053FFC; else goto L_02053FD8;
|
|
L_02053FD8: ; // 0x2053fd8
|
|
/* 02053FD8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02053FD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02053FDC */ /* nop */
|
|
/* 02053FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02053FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02053FE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02053FE4 */ if (_t9) goto L_02053FE8; else goto L_02053FFC;
|
|
L_02053FE8: ; // 0x2053fe8
|
|
/* 02053FE8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02053FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02053FEC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02053FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02053FF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02053FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02053FF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02053FFC: ; // 0x2053ffc
|
|
/* 02053FFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02054000 */ Gambit_fn_02053F28(cpu);
|
|
/* 02054004 */ cpu->r[3] = cpu->r[31];
|
|
/* 02054008 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0205400C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0205400C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02054010 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02054010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02054014 */ cpu->lr = cpu->r[0];
|
|
/* 02054018 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0205401C */ return;
|
|
L_0209E330: ; // 0x209e330
|
|
/* 0209E330 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0209E334 */ goto L_02053FB0;
|
|
}
|
|
|
|
// fn_0209E338 @ 0x209e338
|
|
void Gambit_fn_0209E338(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209E338: ; // 0x209e338
|
|
/* 0209E338 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E33C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E33C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E33C */ cpu->r[1] = _t0;
|
|
/* 0209E340 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E340 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E344 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E348 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E348 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E34C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E34C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209E34C */ if (_t4) goto L_0209E350; else goto L_0209E360;
|
|
L_0209E350: ; // 0x209e350
|
|
/* 0209E350 */ cpu->r[3] = 0x00000004u;
|
|
/* 0209E354 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E358 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E35C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E35C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209E35C */ if (_t6) goto L_0209E374; else goto L_0209E360;
|
|
L_0209E360: ; // 0x209e360
|
|
/* 0209E360 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E364 */ Gambit_fn_026DE588(cpu);
|
|
/* 0209E368 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E36C */ cpu->r[0] = cpu->r[0] + 0x00001F10u;
|
|
/* 0209E370 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E370 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0209E374: ; // 0x209e374
|
|
/* 0209E374 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209E378 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E37C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209E380 */ cpu->lr = cpu->r[0];
|
|
/* 0209E384 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E388 */ return;
|
|
}
|
|
|
|
// fn_0209E33C @ 0x209e33c
|
|
void Gambit_fn_0209E33C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0209E33C: ; // 0x209e33c
|
|
/* 0209E33C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E33C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E33C */ cpu->r[1] = _t0;
|
|
/* 0209E340 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E340 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E344 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E348 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E348 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E34C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E34C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0209E34C */ if (_t4) goto L_0209E350; else goto L_0209E360;
|
|
L_0209E350: ; // 0x209e350
|
|
/* 0209E350 */ cpu->r[3] = 0x00000004u;
|
|
/* 0209E354 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E358 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E35C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E35C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0209E35C */ if (_t6) goto L_0209E374; else goto L_0209E360;
|
|
L_0209E360: ; // 0x209e360
|
|
/* 0209E360 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E364 */ Gambit_fn_026DE588(cpu);
|
|
/* 0209E368 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E36C */ cpu->r[0] = cpu->r[0] + 0x00001F10u;
|
|
/* 0209E370 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E370 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0209E374: ; // 0x209e374
|
|
/* 0209E374 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209E378 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E37C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E37C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209E380 */ cpu->lr = cpu->r[0];
|
|
/* 0209E384 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E388 */ return;
|
|
}
|
|
|
|
// fn_0209E38C @ 0x209e38c
|
|
void Gambit_fn_0209E38C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209E38C: ; // 0x209e38c
|
|
/* 0209E38C */ cpu->r[0] = cpu->lr;
|
|
/* 0209E390 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209E390 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209E394 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209E394 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209E394 */ cpu->r[1] = _t1;
|
|
/* 0209E398 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E39C */ Gambit_fn_020E25D4(cpu);
|
|
/* 0209E3A0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209E3A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3AC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E3B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0209E3B4 */ Gambit_fn_020E2B5C(cpu);
|
|
/* 0209E3B8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E3B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209E3BC */ cpu->lr = cpu->r[0];
|
|
/* 0209E3C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E3C4 */ return;
|
|
}
|
|
|
|
// fn_0209E394 @ 0x209e394
|
|
void Gambit_fn_0209E394(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209E394: ; // 0x209e394
|
|
/* 0209E394 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209E394 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E394 */ cpu->r[1] = _t0;
|
|
/* 0209E398 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E39C */ Gambit_fn_020E25D4(cpu);
|
|
/* 0209E3A0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209E3A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209E3B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0209E3B4 */ Gambit_fn_020E2B5C(cpu);
|
|
/* 0209E3B8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E3B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209E3BC */ cpu->lr = cpu->r[0];
|
|
/* 0209E3C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E3C4 */ return;
|
|
}
|
|
|
|
// fn_0209E3C8 @ 0x209e3c8
|
|
void Gambit_fn_0209E3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209E3C8: ; // 0x209e3c8
|
|
/* 0209E3C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E3CC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209E3CC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209E3D0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209E3D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209E3D0 */ cpu->r[1] = _t1;
|
|
/* 0209E3D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3D8 */ Gambit_fn_020E38B8(cpu);
|
|
/* 0209E3DC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209E3E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0209E3EC */ cpu->r[5] = 0x00000000u;
|
|
/* 0209E3F0 */ Gambit_fn_020E39F8(cpu);
|
|
/* 0209E3F4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209E3F8 */ cpu->lr = cpu->r[0];
|
|
/* 0209E3FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E400 */ return;
|
|
}
|
|
|
|
// fn_0209E3D0 @ 0x209e3d0
|
|
void Gambit_fn_0209E3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209E3D0: ; // 0x209e3d0
|
|
/* 0209E3D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209E3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E3D0 */ cpu->r[1] = _t0;
|
|
/* 0209E3D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3D8 */ Gambit_fn_020E38B8(cpu);
|
|
/* 0209E3DC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0209E3E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E3E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3E8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E3E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209E3EC */ cpu->r[5] = 0x00000000u;
|
|
/* 0209E3F0 */ Gambit_fn_020E39F8(cpu);
|
|
/* 0209E3F4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209E3F8 */ cpu->lr = cpu->r[0];
|
|
/* 0209E3FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E400 */ return;
|
|
}
|
|
|
|
// fn_0209E404 @ 0x209e404
|
|
void Gambit_fn_0209E404(CPUState* cpu) {
|
|
L_0209E404: ; // 0x209e404
|
|
/* 0209E404 */ return;
|
|
}
|
|
|
|
// fn_0209E408 @ 0x209e408
|
|
void Gambit_fn_0209E408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209E408: ; // 0x209e408
|
|
/* 0209E408 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E40C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209E40C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E40C */ cpu->r[1] = _t0;
|
|
/* 0209E410 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E410 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209E414 */ /* nop */
|
|
/* 0209E418 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E41C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209E420 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E420 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209E420 */ if (_t3) goto L_0209E424; else goto L_0209E434;
|
|
L_0209E424: ; // 0x209e424
|
|
/* 0209E424 */ cpu->r[3] = 0x00000148u;
|
|
/* 0209E428 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E42C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E430 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E430 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209E430 */ if (_t5) goto L_0209E6C4; else goto L_0209E434;
|
|
L_0209E434: ; // 0x209e434
|
|
/* 0209E434 */ cpu->r[29] = cpu->r[31];
|
|
/* 0209E434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209E438 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209E43C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E43C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E43C */ if (_t7) goto L_0209E440; else goto L_0209E46C;
|
|
L_0209E440: ; // 0x209e440
|
|
/* 0209E440 */ cpu->r[3] = 0x00000148u;
|
|
/* 0209E444 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E448 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209E448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209E44C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E44C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209E44C */ if (_t9) goto L_0209E450; else goto L_0209E46C;
|
|
L_0209E450: ; // 0x209e450
|
|
/* 0209E450 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E454 */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E454 */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209E458 */ cpu->r[0] = cpu->r[0] + 0x00002020u;
|
|
/* 0209E45C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E45C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E460 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209E460 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209E464 */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E464 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209E468 */ goto L_0209E6C4;
|
|
L_0209E46C: ; // 0x209e46c
|
|
/* 0209E46C */ cpu->r[27] = cpu->r[29];
|
|
/* 0209E46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209E470 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E470 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E470 */ if (_t15) goto L_0209E474; else goto L_0209E4A4;
|
|
L_0209E474: ; // 0x209e474
|
|
/* 0209E474 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0209E478 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E47C */ cpu->r[27] = cpu->r[3];
|
|
/* 0209E47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209E480 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E480 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209E480 */ if (_t17) goto L_0209E484; else goto L_0209E4A4;
|
|
L_0209E484: ; // 0x209e484
|
|
/* 0209E484 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E488 */ cpu->r[26] = cpu->r[29] + 0x0000008Cu;
|
|
/* 0209E488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E48C */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E48C */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209E490 */ cpu->r[0] = cpu->r[0] + 0x00002008u;
|
|
/* 0209E494 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209E498 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209E498 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209E49C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E49C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209E49C */ if (_t21) goto L_0209E528; else goto L_0209E4A0;
|
|
L_0209E4A0: ; // 0x209e4a0
|
|
/* 0209E4A0 */ goto L_0209E538;
|
|
L_0209E4A4: ; // 0x209e4a4
|
|
/* 0209E4A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209E4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E4A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E4A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209E4A8 */ if (_t23) goto L_0209E4AC; else goto L_0209E4D8;
|
|
L_0209E4AC: ; // 0x209e4ac
|
|
/* 0209E4AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E4B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E4B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E4B8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209E4B8 */ if (_t25) goto L_0209E4BC; else goto L_0209E4D8;
|
|
L_0209E4BC: ; // 0x209e4bc
|
|
/* 0209E4BC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4C0 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E4C0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209E4C4 */ cpu->r[0] = cpu->r[0] + 0x00001FD8u;
|
|
/* 0209E4C8 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209E4C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209E4CC */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209E4CC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209E4D0 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E4D0 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209E4D4 */ goto L_0209E510;
|
|
L_0209E4D8: ; // 0x209e4d8
|
|
/* 0209E4D8 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209E4DC */ cpu->r[5] = 0x00000040u;
|
|
/* 0209E4E0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4E4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E4E4 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209E4E8 */ cpu->r[0] = cpu->r[0] + 0x00001FC0u;
|
|
/* 0209E4EC */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E4EC */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209E4F0 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E4F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209E4F4 */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E4F4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209E4F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4FC */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209E4FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209E500 */ cpu->r[0] = cpu->r[0] + 0x00001FD8u;
|
|
/* 0209E504 */ _t35 = cpu->r[27] + 0x0000008Au;
|
|
/* 0209E504 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209E508 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209E508 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209E50C */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E50C */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209E510: ; // 0x209e510
|
|
/* 0209E510 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E514 */ cpu->r[26] = cpu->r[29] + 0x0000008Cu;
|
|
/* 0209E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E518 */ cpu->r[0] = cpu->r[0] + 0x00002008u;
|
|
/* 0209E51C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209E520 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209E520 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209E524 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E524 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209E524 */ if (_t40) goto L_0209E528; else goto L_0209E538;
|
|
L_0209E528: ; // 0x209e528
|
|
/* 0209E528 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209E52C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E530 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209E530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E534 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E534 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209E534 */ if (_t42) goto L_0209E6A0; else goto L_0209E538;
|
|
L_0209E538: ; // 0x209e538
|
|
/* 0209E538 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209E538 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209E53C */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209E53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E540 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209E544 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209E544 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209E548 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209E54C */ cpu->r[25] = 0x10010000u;
|
|
/* 0209E550 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209E550 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209E554 */ cpu->r[24] = cpu->r[24] + 0x00001FA8u;
|
|
/* 0209E558 */ cpu->r[25] = cpu->r[25] + 0x00001F90u;
|
|
/* 0209E55C */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209E55C */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209E560 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E560 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209E560 */ if (_t48) goto L_0209E564; else goto L_0209E584;
|
|
L_0209E564: ; // 0x209e564
|
|
/* 0209E564 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E568 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E56C */ cpu->r[21] = cpu->r[3];
|
|
/* 0209E56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E570 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E570 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209E570 */ if (_t50) goto L_0209E574; else goto L_0209E584;
|
|
L_0209E574: ; // 0x209e574
|
|
/* 0209E574 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E578 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E578 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209E57C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E57C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209E57C */ if (_t53) goto L_0209E580; else goto L_0209E620;
|
|
L_0209E580: ; // 0x209e580
|
|
/* 0209E580 */ goto L_0209E610;
|
|
L_0209E584: ; // 0x209e584
|
|
/* 0209E584 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209E584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E588 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E588 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209E588 */ if (_t55) goto L_0209E58C; else goto L_0209E5A8;
|
|
L_0209E58C: ; // 0x209e58c
|
|
/* 0209E58C */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E590 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E594 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209E594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E598 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E598 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209E598 */ if (_t57) goto L_0209E59C; else goto L_0209E5A8;
|
|
L_0209E59C: ; // 0x209e59c
|
|
/* 0209E59C */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E59C */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209E5A0 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E5A0 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209E5A4 */ goto L_0209E608;
|
|
L_0209E5A8: ; // 0x209e5a8
|
|
/* 0209E5A8 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209E5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E5AC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E5AC */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209E5AC */ if (_t61) goto L_0209E5B0; else goto L_0209E5D4;
|
|
L_0209E5B0: ; // 0x209e5b0
|
|
/* 0209E5B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E5B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E5BC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E5BC */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209E5BC */ if (_t63) goto L_0209E5C0; else goto L_0209E5D4;
|
|
L_0209E5C0: ; // 0x209e5c0
|
|
/* 0209E5C0 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209E5C4 */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E5C4 */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209E5C8 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E5C8 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209E5CC */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E5CC */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209E5D0 */ goto L_0209E604;
|
|
L_0209E5D4: ; // 0x209e5d4
|
|
/* 0209E5D4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E5D8 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209E5DC */ cpu->r[10] = cpu->r[10] + 0x00001F78u;
|
|
/* 0209E5E0 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E5E0 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209E5E4 */ cpu->r[11] = 0x00000040u;
|
|
/* 0209E5E8 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E5E8 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209E5EC */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E5EC */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209E5F0 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E5F0 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209E5F4 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E5F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209E5F8 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E5F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209E5FC */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209E5FC */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209E600 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E600 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209E604: ; // 0x209e604
|
|
/* 0209E604 */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E604 */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209E608: ; // 0x209e608
|
|
/* 0209E608 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E60C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E60C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209E60C */ if (_t78) goto L_0209E610; else goto L_0209E620;
|
|
L_0209E610: ; // 0x209e610
|
|
/* 0209E610 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E614 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E618 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209E618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E61C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E61C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209E61C */ if (_t80) goto L_0209E680; else goto L_0209E620;
|
|
L_0209E620: ; // 0x209e620
|
|
/* 0209E620 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209E620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E624 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E624 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209E624 */ if (_t82) goto L_0209E628; else goto L_0209E638;
|
|
L_0209E628: ; // 0x209e628
|
|
/* 0209E628 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E62C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E630 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209E630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E634 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E634 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209E634 */ if (_t84) goto L_0209E67C; else goto L_0209E638;
|
|
L_0209E638: ; // 0x209e638
|
|
/* 0209E638 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209E638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E63C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E63C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209E63C */ if (_t86) goto L_0209E640; else goto L_0209E650;
|
|
L_0209E640: ; // 0x209e640
|
|
/* 0209E640 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E644 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E64C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E64C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209E64C */ if (_t88) goto L_0209E670; else goto L_0209E650;
|
|
L_0209E650: ; // 0x209e650
|
|
/* 0209E650 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209E654 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209E658 */ cpu->r[5] = cpu->r[5] + 0x00001F78u;
|
|
/* 0209E65C */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E65C */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209E660 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209E664 */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E664 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209E668 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E668 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209E66C */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209E66C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209E670: ; // 0x209e670
|
|
/* 0209E670 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E670 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209E674 */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E674 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209E678 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E678 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209E67C: ; // 0x209e67c
|
|
/* 0209E67C */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E67C */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209E680: ; // 0x209e680
|
|
/* 0209E680 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209E680 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209E684 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209E688 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209E688 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209E68C */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209E68C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209E690 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209E690 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209E694 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209E694 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209E698 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209E69C */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E69C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209E6A0: ; // 0x209e6a0
|
|
/* 0209E6A0 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209E6A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209E6A4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E6A8 */ _t105 = cpu->r[29] + 0x00000144u;
|
|
/* 0209E6A8 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209E6AC */ cpu->r[0] = cpu->r[0] + 0x00002020u;
|
|
/* 0209E6B0 */ _t106 = cpu->r[29] + 0x00000140u;
|
|
/* 0209E6B0 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209E6B4 */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E6B4 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209E6B8 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209E6BC */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209E6BC */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209E6C0 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E6C0 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209E6C4: ; // 0x209e6c4
|
|
/* 0209E6C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E6C8 */ /* nop */
|
|
/* 0209E6CC */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209E6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209E6D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209E6D8 */ return;
|
|
}
|
|
|
|
// fn_0209E40C @ 0x209e40c
|
|
void Gambit_fn_0209E40C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209E40C: ; // 0x209e40c
|
|
/* 0209E40C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209E40C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E40C */ cpu->r[1] = _t0;
|
|
/* 0209E410 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E410 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209E414 */ /* nop */
|
|
/* 0209E418 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E41C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209E420 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E420 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209E420 */ if (_t3) goto L_0209E424; else goto L_0209E434;
|
|
L_0209E424: ; // 0x209e424
|
|
/* 0209E424 */ cpu->r[3] = 0x00000148u;
|
|
/* 0209E428 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E42C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209E42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209E430 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E430 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209E430 */ if (_t5) goto L_0209E6C4; else goto L_0209E434;
|
|
L_0209E434: ; // 0x209e434
|
|
/* 0209E434 */ cpu->r[29] = cpu->r[31];
|
|
/* 0209E434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209E438 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209E43C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E43C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E43C */ if (_t7) goto L_0209E440; else goto L_0209E46C;
|
|
L_0209E440: ; // 0x209e440
|
|
/* 0209E440 */ cpu->r[3] = 0x00000148u;
|
|
/* 0209E444 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E448 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209E448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209E44C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E44C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209E44C */ if (_t9) goto L_0209E450; else goto L_0209E46C;
|
|
L_0209E450: ; // 0x209e450
|
|
/* 0209E450 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E454 */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E454 */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209E458 */ cpu->r[0] = cpu->r[0] + 0x00002020u;
|
|
/* 0209E45C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E45C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E460 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209E460 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209E464 */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E464 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209E468 */ goto L_0209E6C4;
|
|
L_0209E46C: ; // 0x209e46c
|
|
/* 0209E46C */ cpu->r[27] = cpu->r[29];
|
|
/* 0209E46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209E470 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E470 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E470 */ if (_t15) goto L_0209E474; else goto L_0209E4A4;
|
|
L_0209E474: ; // 0x209e474
|
|
/* 0209E474 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0209E478 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E47C */ cpu->r[27] = cpu->r[3];
|
|
/* 0209E47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209E480 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E480 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209E480 */ if (_t17) goto L_0209E484; else goto L_0209E4A4;
|
|
L_0209E484: ; // 0x209e484
|
|
/* 0209E484 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E488 */ cpu->r[26] = cpu->r[29] + 0x0000008Cu;
|
|
/* 0209E488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E48C */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E48C */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209E490 */ cpu->r[0] = cpu->r[0] + 0x00002008u;
|
|
/* 0209E494 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209E498 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209E498 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209E49C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E49C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209E49C */ if (_t21) goto L_0209E528; else goto L_0209E4A0;
|
|
L_0209E4A0: ; // 0x209e4a0
|
|
/* 0209E4A0 */ goto L_0209E538;
|
|
L_0209E4A4: ; // 0x209e4a4
|
|
/* 0209E4A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209E4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E4A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E4A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209E4A8 */ if (_t23) goto L_0209E4AC; else goto L_0209E4D8;
|
|
L_0209E4AC: ; // 0x209e4ac
|
|
/* 0209E4AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E4B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E4B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E4B8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209E4B8 */ if (_t25) goto L_0209E4BC; else goto L_0209E4D8;
|
|
L_0209E4BC: ; // 0x209e4bc
|
|
/* 0209E4BC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4C0 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E4C0 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209E4C4 */ cpu->r[0] = cpu->r[0] + 0x00001FD8u;
|
|
/* 0209E4C8 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209E4C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209E4CC */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209E4CC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209E4D0 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E4D0 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209E4D4 */ goto L_0209E510;
|
|
L_0209E4D8: ; // 0x209e4d8
|
|
/* 0209E4D8 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209E4DC */ cpu->r[5] = 0x00000040u;
|
|
/* 0209E4E0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4E4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E4E4 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209E4E8 */ cpu->r[0] = cpu->r[0] + 0x00001FC0u;
|
|
/* 0209E4EC */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E4EC */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209E4F0 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E4F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209E4F4 */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209E4F4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209E4F8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E4FC */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209E4FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209E500 */ cpu->r[0] = cpu->r[0] + 0x00001FD8u;
|
|
/* 0209E504 */ _t35 = cpu->r[27] + 0x0000008Au;
|
|
/* 0209E504 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209E508 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209E508 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209E50C */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E50C */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209E510: ; // 0x209e510
|
|
/* 0209E510 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E514 */ cpu->r[26] = cpu->r[29] + 0x0000008Cu;
|
|
/* 0209E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E518 */ cpu->r[0] = cpu->r[0] + 0x00002008u;
|
|
/* 0209E51C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209E520 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209E520 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209E524 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E524 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209E524 */ if (_t40) goto L_0209E528; else goto L_0209E538;
|
|
L_0209E528: ; // 0x209e528
|
|
/* 0209E528 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209E52C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E530 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209E530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209E534 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E534 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209E534 */ if (_t42) goto L_0209E6A0; else goto L_0209E538;
|
|
L_0209E538: ; // 0x209e538
|
|
/* 0209E538 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209E538 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209E53C */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209E53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E540 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209E544 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209E544 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209E548 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209E54C */ cpu->r[25] = 0x10010000u;
|
|
/* 0209E550 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209E550 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209E554 */ cpu->r[24] = cpu->r[24] + 0x00001FA8u;
|
|
/* 0209E558 */ cpu->r[25] = cpu->r[25] + 0x00001F90u;
|
|
/* 0209E55C */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209E55C */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209E560 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E560 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209E560 */ if (_t48) goto L_0209E564; else goto L_0209E584;
|
|
L_0209E564: ; // 0x209e564
|
|
/* 0209E564 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E568 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E56C */ cpu->r[21] = cpu->r[3];
|
|
/* 0209E56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E570 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E570 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209E570 */ if (_t50) goto L_0209E574; else goto L_0209E584;
|
|
L_0209E574: ; // 0x209e574
|
|
/* 0209E574 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E578 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E578 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209E57C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E57C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209E57C */ if (_t53) goto L_0209E580; else goto L_0209E620;
|
|
L_0209E580: ; // 0x209e580
|
|
/* 0209E580 */ goto L_0209E610;
|
|
L_0209E584: ; // 0x209e584
|
|
/* 0209E584 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209E584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E588 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E588 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209E588 */ if (_t55) goto L_0209E58C; else goto L_0209E5A8;
|
|
L_0209E58C: ; // 0x209e58c
|
|
/* 0209E58C */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E590 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E594 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209E594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E598 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E598 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209E598 */ if (_t57) goto L_0209E59C; else goto L_0209E5A8;
|
|
L_0209E59C: ; // 0x209e59c
|
|
/* 0209E59C */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E59C */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209E5A0 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E5A0 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209E5A4 */ goto L_0209E608;
|
|
L_0209E5A8: ; // 0x209e5a8
|
|
/* 0209E5A8 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209E5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E5AC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E5AC */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209E5AC */ if (_t61) goto L_0209E5B0; else goto L_0209E5D4;
|
|
L_0209E5B0: ; // 0x209e5b0
|
|
/* 0209E5B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E5B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E5BC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E5BC */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209E5BC */ if (_t63) goto L_0209E5C0; else goto L_0209E5D4;
|
|
L_0209E5C0: ; // 0x209e5c0
|
|
/* 0209E5C0 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209E5C4 */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E5C4 */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209E5C8 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E5C8 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209E5CC */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E5CC */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209E5D0 */ goto L_0209E604;
|
|
L_0209E5D4: ; // 0x209e5d4
|
|
/* 0209E5D4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209E5D8 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209E5DC */ cpu->r[10] = cpu->r[10] + 0x00001F78u;
|
|
/* 0209E5E0 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E5E0 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209E5E4 */ cpu->r[11] = 0x00000040u;
|
|
/* 0209E5E8 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E5E8 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209E5EC */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E5EC */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209E5F0 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209E5F0 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209E5F4 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E5F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209E5F8 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E5F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209E5FC */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209E5FC */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209E600 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E600 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209E604: ; // 0x209e604
|
|
/* 0209E604 */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E604 */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209E608: ; // 0x209e608
|
|
/* 0209E608 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E60C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E60C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209E60C */ if (_t78) goto L_0209E610; else goto L_0209E620;
|
|
L_0209E610: ; // 0x209e610
|
|
/* 0209E610 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E614 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E618 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209E618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209E61C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E61C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209E61C */ if (_t80) goto L_0209E680; else goto L_0209E620;
|
|
L_0209E620: ; // 0x209e620
|
|
/* 0209E620 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209E620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E624 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E624 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209E624 */ if (_t82) goto L_0209E628; else goto L_0209E638;
|
|
L_0209E628: ; // 0x209e628
|
|
/* 0209E628 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209E62C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E630 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209E630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209E634 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E634 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209E634 */ if (_t84) goto L_0209E67C; else goto L_0209E638;
|
|
L_0209E638: ; // 0x209e638
|
|
/* 0209E638 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209E638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E63C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E63C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209E63C */ if (_t86) goto L_0209E640; else goto L_0209E650;
|
|
L_0209E640: ; // 0x209e640
|
|
/* 0209E640 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209E644 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209E64C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E64C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209E64C */ if (_t88) goto L_0209E670; else goto L_0209E650;
|
|
L_0209E650: ; // 0x209e650
|
|
/* 0209E650 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209E654 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209E658 */ cpu->r[5] = cpu->r[5] + 0x00001F78u;
|
|
/* 0209E65C */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209E65C */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209E660 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209E664 */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209E664 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209E668 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209E668 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209E66C */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209E66C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209E670: ; // 0x209e670
|
|
/* 0209E670 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209E670 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209E674 */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209E674 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209E678 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209E678 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209E67C: ; // 0x209e67c
|
|
/* 0209E67C */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209E67C */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209E680: ; // 0x209e680
|
|
/* 0209E680 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209E680 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209E684 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209E688 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209E688 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209E68C */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209E68C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209E690 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209E690 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209E694 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209E694 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209E698 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209E698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209E69C */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E69C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209E6A0: ; // 0x209e6a0
|
|
/* 0209E6A0 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209E6A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209E6A4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E6A8 */ _t105 = cpu->r[29] + 0x00000144u;
|
|
/* 0209E6A8 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209E6AC */ cpu->r[0] = cpu->r[0] + 0x00002020u;
|
|
/* 0209E6B0 */ _t106 = cpu->r[29] + 0x00000140u;
|
|
/* 0209E6B0 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209E6B4 */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209E6B4 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209E6B8 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209E6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209E6BC */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209E6BC */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209E6C0 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209E6C0 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209E6C4: ; // 0x209e6c4
|
|
/* 0209E6C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209E6C8 */ /* nop */
|
|
/* 0209E6CC */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209E6D0 */ cpu->lr = cpu->r[0];
|
|
/* 0209E6D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209E6D8 */ return;
|
|
}
|
|
|
|
// fn_0209E6DC @ 0x209e6dc
|
|
void Gambit_fn_0209E6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_0209E6DC: ; // 0x209e6dc
|
|
/* 0209E6DC */ cpu->r[0] = cpu->lr;
|
|
/* 0209E6E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209E6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209E6E4 */ _t1 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0209E6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209E6E4 */ cpu->r[1] = _t1;
|
|
/* 0209E6E8 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 0209E6E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209E6EC */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0209E6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209E6F0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0209E6F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0209E6F4 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0209E6F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0209E6F8 */ _t6 = cpu->r[4] + 0x00000010u;
|
|
/* 0209E6F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209E6FC */ _t7 = cpu->r[4] + 0x00000008u;
|
|
/* 0209E6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0209E700 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E700 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209E704 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209E708 */ _t9 = cpu->r[4] + 0x00000014u;
|
|
/* 0209E708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209E70C */ cpu->r[6] = 0x10010000u;
|
|
/* 0209E710 */ _t10 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 0209E710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0209E714 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209E718 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0209E718 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0209E71C */ cpu->r[6] = cpu->r[6] + 0x00001F48u;
|
|
/* 0209E720 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E720 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0209E724 */ _t13 = cpu->r[12] + 0x00000114u;
|
|
/* 0209E724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E728 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E72C */ cpu->r[7] = cpu->r[7] + 0x00002038u;
|
|
/* 0209E730 */ _t14 = cpu->r[12] + 0x00000118u;
|
|
/* 0209E730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 0209E738 */ cpu->r[0] = cpu->r[0] + 0x00002048u;
|
|
/* 0209E73C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E73C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209E73C */ if (_t16) goto L_0209E740; else goto L_0209E810;
|
|
L_0209E740: ; // 0x209e740
|
|
/* 0209E740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 0209E744 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E744 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209E744 */ if (_t18) goto L_0209E748; else goto L_0209E810;
|
|
L_0209E748: ; // 0x209e748
|
|
/* 0209E748 */ cpu->r[9] = 0x2AAB0000u;
|
|
/* 0209E74C */ cpu->r[9] = cpu->r[9] + 0xFFFFAAABu;
|
|
/* 0209E750 */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[9] * (int64_t)(int32_t)cpu->r[10]) >> 32);
|
|
/* 0209E754 */ /* nop */
|
|
/* 0209E758 */ /* nop */
|
|
/* 0209E75C */ cpu->r[12] = cpu->r[12] - cpu->r[8];
|
|
/* 0209E760 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu);
|
|
/* 0209E764 */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 0209E764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209E768 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E768 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0209E768 */ if (_t20) goto L_0209E7BC; else goto L_0209E76C;
|
|
L_0209E76C: ; // 0x209e76c
|
|
/* 0209E76C */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209E76C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 0209E770 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E774 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 0209E774 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0209E778 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E77C */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 0209E77C */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 0209E780 */ cpu->r[6] = 0x00000006u;
|
|
/* 0209E784 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0209E788 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0209E788 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0209E78C */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E790 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E794 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E794 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 0209E798 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E79C */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7A0 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E7A0 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 0209E7A4 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7A8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E7A8 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 0209E7AC */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E7AC */ _t29 = _t28 & 0x00000001u;
|
|
/* 0209E7AC */ if (_t29) goto L_0209E7B0; // else: addr-0 trap, fall-through
|
|
L_0209E7B0: ; // 0x209e7b0
|
|
/* 0209E7B0 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E7B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E7B8 */ goto L_0209E850;
|
|
L_0209E7BC: ; // 0x209e7bc
|
|
/* 0209E7BC */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209E7BC */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 0209E7C0 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E7C4 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7C4 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0209E7C8 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0209E7CC */ cpu->r[10] = 0x0000000Cu;
|
|
/* 0209E7D0 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 0209E7D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 0209E7D4 */ cpu->r[6] = 0x00000006u;
|
|
/* 0209E7D8 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E7DC */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 0209E7DC */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 0209E7E0 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E7E4 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E7E8 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E7E8 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 0209E7EC */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7F0 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E7F4 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7F4 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 0209E7F8 */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7FC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E7FC */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0209E800 */ _t37 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E800 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0209E800 */ if (_t38) goto L_0209E804; // else: addr-0 trap, fall-through
|
|
L_0209E804: ; // 0x209e804
|
|
/* 0209E804 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E808 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E80C */ goto L_0209E850;
|
|
L_0209E810: ; // 0x209e810
|
|
/* 0209E810 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E810 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0209E814 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E818 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0209E81C */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 0209E81C */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 0209E820 */ cpu->r[6] = 0x00000005u;
|
|
/* 0209E824 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E828 */ _t41 = cpu->r[1] + 0x00000038u;
|
|
/* 0209E828 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 0209E82C */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E830 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E834 */ _t42 = cpu->r[1] + 0x00000040u;
|
|
/* 0209E834 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0209E838 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E83C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 0209E840 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E840 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 0209E844 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E844 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0209E844 */ if (_t45) goto L_0209E848; // else: addr-0 trap, fall-through
|
|
L_0209E848: ; // 0x209e848
|
|
/* 0209E848 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E84C */ cpu->r[3] = 0x00000001u;
|
|
L_0209E850: ; // 0x209e850
|
|
/* 0209E850 */ _t46 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209E850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209E854 */ cpu->lr = cpu->r[0];
|
|
/* 0209E858 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0209E85C */ return;
|
|
}
|
|
|
|
// fn_0209E6E4 @ 0x209e6e4
|
|
void Gambit_fn_0209E6E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_0209E6E4: ; // 0x209e6e4
|
|
/* 0209E6E4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0209E6E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E6E4 */ cpu->r[1] = _t0;
|
|
/* 0209E6E8 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 0209E6E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209E6EC */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0209E6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209E6F0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0209E6F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0209E6F4 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 0209E6F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0209E6F8 */ _t5 = cpu->r[4] + 0x00000010u;
|
|
/* 0209E6F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209E6FC */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 0209E6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209E700 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E700 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0209E704 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209E708 */ _t8 = cpu->r[4] + 0x00000014u;
|
|
/* 0209E708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0209E70C */ cpu->r[6] = 0x10010000u;
|
|
/* 0209E710 */ _t9 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 0209E710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209E714 */ cpu->r[7] = 0x10010000u;
|
|
/* 0209E718 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 0209E718 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0209E71C */ cpu->r[6] = cpu->r[6] + 0x00001F48u;
|
|
/* 0209E720 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E720 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0209E724 */ _t12 = cpu->r[12] + 0x00000114u;
|
|
/* 0209E724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209E728 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209E72C */ cpu->r[7] = cpu->r[7] + 0x00002038u;
|
|
/* 0209E730 */ _t13 = cpu->r[12] + 0x00000118u;
|
|
/* 0209E730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 0209E738 */ cpu->r[0] = cpu->r[0] + 0x00002048u;
|
|
/* 0209E73C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E73C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209E73C */ if (_t15) goto L_0209E740; else goto L_0209E810;
|
|
L_0209E740: ; // 0x209e740
|
|
/* 0209E740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 0209E744 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E744 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209E744 */ if (_t17) goto L_0209E748; else goto L_0209E810;
|
|
L_0209E748: ; // 0x209e748
|
|
/* 0209E748 */ cpu->r[9] = 0x2AAB0000u;
|
|
/* 0209E74C */ cpu->r[9] = cpu->r[9] + 0xFFFFAAABu;
|
|
/* 0209E750 */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[9] * (int64_t)(int32_t)cpu->r[10]) >> 32);
|
|
/* 0209E754 */ /* nop */
|
|
/* 0209E758 */ /* nop */
|
|
/* 0209E75C */ cpu->r[12] = cpu->r[12] - cpu->r[8];
|
|
/* 0209E760 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu);
|
|
/* 0209E764 */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 0209E764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209E768 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E768 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209E768 */ if (_t19) goto L_0209E7BC; else goto L_0209E76C;
|
|
L_0209E76C: ; // 0x209e76c
|
|
/* 0209E76C */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209E76C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 0209E770 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E774 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 0209E774 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0209E778 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E77C */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 0209E77C */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 0209E780 */ cpu->r[6] = 0x00000006u;
|
|
/* 0209E784 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0209E788 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 0209E788 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 0209E78C */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E790 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E794 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E794 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0209E798 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E79C */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7A0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E7A0 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 0209E7A4 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7A8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E7A8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 0209E7AC */ _t27 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E7AC */ _t28 = _t27 & 0x00000001u;
|
|
/* 0209E7AC */ if (_t28) goto L_0209E7B0; // else: addr-0 trap, fall-through
|
|
L_0209E7B0: ; // 0x209e7b0
|
|
/* 0209E7B0 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E7B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E7B8 */ goto L_0209E850;
|
|
L_0209E7BC: ; // 0x209e7bc
|
|
/* 0209E7BC */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209E7BC */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 0209E7C0 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E7C4 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0209E7C8 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0209E7CC */ cpu->r[10] = 0x0000000Cu;
|
|
/* 0209E7D0 */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 0209E7D0 */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 0209E7D4 */ cpu->r[6] = 0x00000006u;
|
|
/* 0209E7D8 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E7DC */ _t32 = cpu->r[1] + 0x00000028u;
|
|
/* 0209E7DC */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 0209E7E0 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E7E4 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E7E8 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E7E8 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 0209E7EC */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 0209E7F0 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E7F4 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 0209E7F8 */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E7FC */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E7FC */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 0209E800 */ _t36 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E800 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0209E800 */ if (_t37) goto L_0209E804; // else: addr-0 trap, fall-through
|
|
L_0209E804: ; // 0x209e804
|
|
/* 0209E804 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E808 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209E80C */ goto L_0209E850;
|
|
L_0209E810: ; // 0x209e810
|
|
/* 0209E810 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209E810 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 0209E814 */ cpu->r[11] = cpu->r[1] + 0x00000020u;
|
|
/* 0209E818 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0209E81C */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 0209E81C */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0209E820 */ cpu->r[6] = 0x00000005u;
|
|
/* 0209E824 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 0209E828 */ _t40 = cpu->r[1] + 0x00000038u;
|
|
/* 0209E828 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
/* 0209E82C */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E830 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0209E834 */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 0209E834 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 0209E838 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209E83C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 0209E840 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E840 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 0209E844 */ _t43 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209E844 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0209E844 */ if (_t44) goto L_0209E848; // else: addr-0 trap, fall-through
|
|
L_0209E848: ; // 0x209e848
|
|
/* 0209E848 */ Gambit_fn_0209EB00(cpu);
|
|
/* 0209E84C */ cpu->r[3] = 0x00000001u;
|
|
L_0209E850: ; // 0x209e850
|
|
/* 0209E850 */ _t45 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209E850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209E854 */ cpu->lr = cpu->r[0];
|
|
/* 0209E858 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0209E85C */ return;
|
|
}
|
|
|
|
// fn_0209E860 @ 0x209e860
|
|
void Gambit_fn_0209E860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0209E860: ; // 0x209e860
|
|
/* 0209E860 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0209E860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E860 */ cpu->r[1] = _t0;
|
|
/* 0209E864 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E868 */ /* nop */
|
|
/* 0209E86C */ cpu->r[28] = cpu->r[4];
|
|
/* 0209E870 */ cpu->r[26] = 0x101F0000u;
|
|
/* 0209E874 */ cpu->r[24] = 0x101F0000u;
|
|
/* 0209E878 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0209E87C */ cpu->r[30] = 0x101F0000u;
|
|
/* 0209E880 */ cpu->r[27] = cpu->r[3];
|
|
/* 0209E884 */ cpu->r[25] = 0x101F0000u;
|
|
/* 0209E888 */ cpu->r[4] = cpu->r[26] + 0x00006C18u;
|
|
/* 0209E88C */ cpu->r[6] = cpu->r[24] + 0x00006C20u;
|
|
/* 0209E890 */ cpu->r[7] = cpu->r[31] + 0x00006C24u;
|
|
/* 0209E894 */ cpu->r[8] = cpu->r[30] + 0x00006C28u;
|
|
/* 0209E898 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E89C */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 0209E89C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209E8A0 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0209E8A4 */ cpu->r[9] = cpu->r[29] + 0x00006C2Cu;
|
|
/* 0209E8A8 */ cpu->r[5] = cpu->r[25] + 0x00006C1Cu;
|
|
/* 0209E8AC */ Gambit_fn_0283801C(cpu);
|
|
/* 0209E8B0 */ cpu->r[8] = cpu->r[30] + 0x00006C28u;
|
|
/* 0209E8B4 */ cpu->r[9] = cpu->r[29] + 0x00006C2Cu;
|
|
/* 0209E8B8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E8BC */ cpu->r[7] = cpu->r[31] + 0x00006C24u;
|
|
/* 0209E8C0 */ cpu->r[6] = cpu->r[24] + 0x00006C20u;
|
|
/* 0209E8C4 */ cpu->r[5] = cpu->r[25] + 0x00006C1Cu;
|
|
/* 0209E8C8 */ cpu->r[4] = cpu->r[26] + 0x00006C18u;
|
|
/* 0209E8CC */ Gambit_fn_0283801C(cpu);
|
|
/* 0209E8D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209E8D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E8D8 */ Gambit_fn_02838874(cpu);
|
|
/* 0209E8DC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E8E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0209E8E4 */ Gambit_fn_027DCC4C(cpu);
|
|
/* 0209E8E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209E8EC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0209E8F0 */ Gambit_fn_0209E6DC(cpu);
|
|
/* 0209E8F4 */ /* nop */
|
|
/* 0209E8F8 */ _t2 = cpu->r[1] + 0x00000064u;
|
|
/* 0209E8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209E8FC */ cpu->lr = cpu->r[0];
|
|
/* 0209E900 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0209E904 */ return;
|
|
}
|
|
|
|
// fn_0209E908 @ 0x209e908
|
|
void Gambit_fn_0209E908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209E908: ; // 0x209e908
|
|
/* 0209E908 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E90C */ cpu->r[1] = _t0;
|
|
/* 0209E910 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E910 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E914 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E914 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E918 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0209E91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E920 */ _t4 = cpu->r[31] + 0x0000457Cu;
|
|
/* 0209E920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E924 */ _t5 = cpu->r[31] + 0x0000001Eu;
|
|
/* 0209E924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209E928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E92C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E930 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E930 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E930 */ if (_t7) goto L_0209E968; else goto L_0209E934;
|
|
L_0209E934: ; // 0x209e934
|
|
/* 0209E934 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209E934 */ cpu->r[3] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0209E938 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0209E93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0209E940 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E940 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E940 */ if (_t10) goto L_0209E944; else goto L_0209E968;
|
|
L_0209E944: ; // 0x209e944
|
|
/* 0209E944 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E948 */ cpu->r[4] = cpu->r[31] + 0x00000030u;
|
|
/* 0209E94C */ Gambit_fn_0209E860(cpu);
|
|
/* 0209E950 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E954 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E954 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209E958 */ cpu->lr = cpu->r[0];
|
|
/* 0209E95C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E95C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E960 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E964 */ return;
|
|
L_0209E968: ; // 0x209e968
|
|
/* 0209E968 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E96C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209E970 */ cpu->lr = cpu->r[0];
|
|
/* 0209E974 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E97C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E980 */ return;
|
|
}
|
|
|
|
// fn_0209E90C @ 0x209e90c
|
|
void Gambit_fn_0209E90C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209E90C: ; // 0x209e90c
|
|
/* 0209E90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E90C */ cpu->r[1] = _t0;
|
|
/* 0209E910 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E910 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E914 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E914 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E918 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0209E91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E920 */ _t4 = cpu->r[31] + 0x0000457Cu;
|
|
/* 0209E920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E924 */ _t5 = cpu->r[31] + 0x0000001Eu;
|
|
/* 0209E924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209E928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E92C */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E930 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E930 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E930 */ if (_t7) goto L_0209E968; else goto L_0209E934;
|
|
L_0209E934: ; // 0x209e934
|
|
/* 0209E934 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209E934 */ cpu->r[3] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0209E938 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0209E93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0209E940 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E940 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E940 */ if (_t10) goto L_0209E944; else goto L_0209E968;
|
|
L_0209E944: ; // 0x209e944
|
|
/* 0209E944 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E948 */ cpu->r[4] = cpu->r[31] + 0x00000030u;
|
|
/* 0209E94C */ Gambit_fn_0209E860(cpu);
|
|
/* 0209E950 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E954 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E954 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209E958 */ cpu->lr = cpu->r[0];
|
|
/* 0209E95C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E95C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E960 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E964 */ return;
|
|
L_0209E968: ; // 0x209e968
|
|
/* 0209E968 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E96C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209E970 */ cpu->lr = cpu->r[0];
|
|
/* 0209E974 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E978 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E97C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E980 */ return;
|
|
}
|
|
|
|
// fn_0209E984 @ 0x209e984
|
|
void Gambit_fn_0209E984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209E984: ; // 0x209e984
|
|
/* 0209E984 */ cpu->r[0] = cpu->lr;
|
|
/* 0209E988 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E988 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E988 */ cpu->r[1] = _t0;
|
|
/* 0209E98C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E98C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E990 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E990 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E994 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0209E998 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E998 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E99C */ _t4 = cpu->r[31] + 0x0000457Cu;
|
|
/* 0209E99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E9A0 */ _t5 = cpu->r[31] + 0x0000001Eu;
|
|
/* 0209E9A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E9A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E9AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E9AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E9AC */ if (_t7) goto L_0209E9E4; else goto L_0209E9B0;
|
|
L_0209E9B0: ; // 0x209e9b0
|
|
/* 0209E9B0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209E9B0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0209E9B4 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0209E9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0209E9BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E9BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E9BC */ if (_t10) goto L_0209E9C0; else goto L_0209E9E4;
|
|
L_0209E9C0: ; // 0x209e9c0
|
|
/* 0209E9C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E9C4 */ cpu->r[4] = cpu->r[31] + 0x00000038u;
|
|
/* 0209E9C8 */ Gambit_fn_0209E860(cpu);
|
|
/* 0209E9CC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E9D0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E9D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209E9D4 */ cpu->lr = cpu->r[0];
|
|
/* 0209E9D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E9D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E9DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E9E0 */ return;
|
|
L_0209E9E4: ; // 0x209e9e4
|
|
/* 0209E9E4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E9E8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209E9EC */ cpu->lr = cpu->r[0];
|
|
/* 0209E9F0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E9F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E9FC */ return;
|
|
}
|
|
|
|
// fn_0209E988 @ 0x209e988
|
|
void Gambit_fn_0209E988(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0209E988: ; // 0x209e988
|
|
/* 0209E988 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0209E988 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209E988 */ cpu->r[1] = _t0;
|
|
/* 0209E98C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E98C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0209E990 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E990 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0209E994 */ cpu->r[31] = 0x101C0000u;
|
|
/* 0209E998 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E998 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0209E99C */ _t4 = cpu->r[31] + 0x0000457Cu;
|
|
/* 0209E99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209E9A0 */ _t5 = cpu->r[31] + 0x0000001Eu;
|
|
/* 0209E9A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0209E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209E9A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209E9AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E9AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209E9AC */ if (_t7) goto L_0209E9E4; else goto L_0209E9B0;
|
|
L_0209E9B0: ; // 0x209e9b0
|
|
/* 0209E9B0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0209E9B0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0209E9B4 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0209E9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0209E9BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209E9BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0209E9BC */ if (_t10) goto L_0209E9C0; else goto L_0209E9E4;
|
|
L_0209E9C0: ; // 0x209e9c0
|
|
/* 0209E9C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209E9C4 */ cpu->r[4] = cpu->r[31] + 0x00000038u;
|
|
/* 0209E9C8 */ Gambit_fn_0209E860(cpu);
|
|
/* 0209E9CC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209E9D0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E9D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209E9D4 */ cpu->lr = cpu->r[0];
|
|
/* 0209E9D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E9D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0209E9DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E9E0 */ return;
|
|
L_0209E9E4: ; // 0x209e9e4
|
|
/* 0209E9E4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0209E9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0209E9E8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0209E9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0209E9EC */ cpu->lr = cpu->r[0];
|
|
/* 0209E9F0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209E9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0209E9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0209E9F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209E9FC */ return;
|
|
}
|
|
|
|
// fn_0209EA00 @ 0x209ea00
|
|
void Gambit_fn_0209EA00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209EA00: ; // 0x209ea00
|
|
/* 0209EA00 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0209EA04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209EA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209EA04 */ cpu->r[1] = _t0;
|
|
/* 0209EA08 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209EA0C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209EA10 */ _t1 = cpu->r[10] + 0xFFFFDA1Cu;
|
|
/* 0209EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209EA10 */ cpu->r[10] = _t1;
|
|
/* 0209EA14 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209EA18 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209EA18 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209EA1C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209EA20 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209EA24 */ _t3 = cpu->r[7] + 0xFFFFDA2Cu;
|
|
/* 0209EA24 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209EA24 */ cpu->r[7] = _t3;
|
|
/* 0209EA28 */ _t4 = cpu->r[8] + 0xFFFFDA24u;
|
|
/* 0209EA28 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209EA28 */ cpu->r[8] = _t4;
|
|
/* 0209EA2C */ cpu->r[0] = 0x00000002u;
|
|
/* 0209EA30 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209EA30 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209EA34 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209EA38 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EA38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209EA3C */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209EA40 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209EA40 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209EA44 */ _t8 = cpu->r[8] + 0xFFFFDA3Cu;
|
|
/* 0209EA44 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209EA44 */ cpu->r[8] = _t8;
|
|
/* 0209EA48 */ _t9 = cpu->r[12] + 0xFFFFDA34u;
|
|
/* 0209EA48 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209EA48 */ cpu->r[12] = _t9;
|
|
/* 0209EA4C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209EA4C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209EA50 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209EA54 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209EA54 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209EA58 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209EA5C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EA5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209EA60 */ _t13 = cpu->r[11] + 0xFFFFDA44u;
|
|
/* 0209EA60 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209EA64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209EA68 */ return;
|
|
}
|
|
|
|
// fn_0209EA04 @ 0x209ea04
|
|
void Gambit_fn_0209EA04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209EA04: ; // 0x209ea04
|
|
/* 0209EA04 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209EA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209EA04 */ cpu->r[1] = _t0;
|
|
/* 0209EA08 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209EA0C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209EA10 */ _t1 = cpu->r[10] + 0xFFFFDA1Cu;
|
|
/* 0209EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209EA10 */ cpu->r[10] = _t1;
|
|
/* 0209EA14 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209EA18 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209EA18 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209EA1C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209EA20 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209EA24 */ _t3 = cpu->r[7] + 0xFFFFDA2Cu;
|
|
/* 0209EA24 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209EA24 */ cpu->r[7] = _t3;
|
|
/* 0209EA28 */ _t4 = cpu->r[8] + 0xFFFFDA24u;
|
|
/* 0209EA28 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209EA28 */ cpu->r[8] = _t4;
|
|
/* 0209EA2C */ cpu->r[0] = 0x00000002u;
|
|
/* 0209EA30 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209EA30 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209EA34 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209EA38 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EA38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209EA3C */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209EA40 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209EA40 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209EA44 */ _t8 = cpu->r[8] + 0xFFFFDA3Cu;
|
|
/* 0209EA44 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209EA44 */ cpu->r[8] = _t8;
|
|
/* 0209EA48 */ _t9 = cpu->r[12] + 0xFFFFDA34u;
|
|
/* 0209EA48 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209EA48 */ cpu->r[12] = _t9;
|
|
/* 0209EA4C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209EA4C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209EA50 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209EA54 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209EA54 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209EA58 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209EA5C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EA5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209EA60 */ _t13 = cpu->r[11] + 0xFFFFDA44u;
|
|
/* 0209EA60 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209EA64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209EA68 */ return;
|
|
}
|
|
|
|
// fn_0209EA6C @ 0x209ea6c
|
|
void Gambit_fn_0209EA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209EA6C: ; // 0x209ea6c
|
|
/* 0209EA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EA70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EA70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209EA70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EA70 */ goto L_0209EA74;
|
|
L_0209EA74: ; // 0x209ea74
|
|
/* 0209EA74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209EA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209EA78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EA78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209EA78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EA78 */ goto L_0209EA7C;
|
|
L_0209EA7C: ; // 0x209ea7c
|
|
/* 0209EA7C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209EA80 @ 0x209ea80
|
|
void Gambit_fn_0209EA80(CPUState* cpu) {
|
|
L_0209EA80: ; // 0x209ea80
|
|
/* 0209EA80 */ return;
|
|
}
|
|
|
|
// fn_0209EA84 @ 0x209ea84
|
|
void Gambit_fn_0209EA84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209EA84: ; // 0x209ea84
|
|
/* 0209EA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EA88 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EA88 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209EA88 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EA88 */ goto L_0209EA8C;
|
|
L_0209EA8C: ; // 0x209ea8c
|
|
/* 0209EA8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209EA90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EA90 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209EA90 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EA90 */ goto L_0209EA94;
|
|
L_0209EA94: ; // 0x209ea94
|
|
/* 0209EA94 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209EA98 @ 0x209ea98
|
|
void Gambit_fn_0209EA98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209EA98: ; // 0x209ea98
|
|
/* 0209EA98 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EA98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209EA9C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EA9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209EAA0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0209EAA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 0209EAA8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0209EAA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209EAAC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209EAAC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0209EAB0 */ return;
|
|
}
|
|
|
|
// fn_0209EAB4 @ 0x209eab4
|
|
void Gambit_fn_0209EAB4(CPUState* cpu) {
|
|
L_0209EAB4: ; // 0x209eab4
|
|
/* 0209EAB4 */ return;
|
|
}
|
|
|
|
// fn_0209EAB8 @ 0x209eab8
|
|
void Gambit_fn_0209EAB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209EAB8: ; // 0x209eab8
|
|
/* 0209EAB8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EAB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209EABC */ cpu->r[9] = 0x10110000u;
|
|
/* 0209EAC0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EAC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209EAC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209EAC8 */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 0209EAC8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0209EACC */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 0209EAD0 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 0209EAD0 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 0209EAD4 */ return;
|
|
}
|
|
|
|
// fn_0209EAD8 @ 0x209ead8
|
|
void Gambit_fn_0209EAD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209EAD8: ; // 0x209ead8
|
|
/* 0209EAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EADC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EADC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209EADC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EADC */ goto L_0209EAE0;
|
|
L_0209EAE0: ; // 0x209eae0
|
|
/* 0209EAE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209EAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209EAE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EAE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209EAE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EAE4 */ goto L_0209EAE8;
|
|
L_0209EAE8: ; // 0x209eae8
|
|
/* 0209EAE8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209EAEC @ 0x209eaec
|
|
void Gambit_fn_0209EAEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209EAEC: ; // 0x209eaec
|
|
/* 0209EAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EAF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EAF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209EAF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EAF0 */ goto L_0209EAF4;
|
|
L_0209EAF4: ; // 0x209eaf4
|
|
/* 0209EAF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209EAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209EAF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EAF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209EAF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209EAF8 */ goto L_0209EAFC;
|
|
L_0209EAFC: ; // 0x209eafc
|
|
/* 0209EAFC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209EB00 @ 0x209eb00
|
|
void Gambit_fn_0209EB00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0209EB00: ; // 0x209eb00
|
|
/* 0209EB00 */ cpu->r[0] = cpu->lr;
|
|
/* 0209EB04 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 0209EB04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209EB04 */ cpu->r[1] = _t0;
|
|
/* 0209EB08 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209EB08 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0209EB0C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0209EB0C */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0209EB10 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209EB10 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0209EB14 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0209EB14 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0209EB18 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0209EB18 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 0209EB1C */ _t6 = cpu->r[1] + 0x00000134u;
|
|
/* 0209EB1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209EB20 */ /* nop */
|
|
/* 0209EB24 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 0209EB24 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209EB28 */ _t8 = cpu->r[1] + 0x00000044u;
|
|
/* 0209EB28 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209EB2C */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0209EB2C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0209EB30 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209EB30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209EB30 */ if (_t11) goto L_0209EB34; else goto L_0209EB54;
|
|
L_0209EB34: ; // 0x209eb34
|
|
/* 0209EB34 */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 0209EB34 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 0209EB38 */ _t13 = cpu->r[1] + 0x00000078u;
|
|
/* 0209EB38 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 0209EB3C */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 0209EB3C */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 0209EB40 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 0209EB40 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 0209EB44 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0209EB44 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 0209EB48 */ _t17 = cpu->r[1] + 0x00000080u;
|
|
/* 0209EB48 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 0209EB4C */ _t18 = cpu->r[1] + 0x00000068u;
|
|
/* 0209EB4C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 0209EB50 */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0209EB50 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_0209EB54: ; // 0x209eb54
|
|
/* 0209EB54 */ cpu->r[10] = cpu->r[1] + 0x00000138u;
|
|
/* 0209EB58 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209EB5C */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 0209EB60 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0209EB60 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0209EB64 */ cpu->r[30] = cpu->r[6];
|
|
/* 0209EB68 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209EB6C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209EB6C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 0209EB70 */ cpu->r[28] = cpu->r[3];
|
|
/* 0209EB74 */ cpu->r[5] = cpu->r[4];
|
|
/* 0209EB78 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0209EB78 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0209EB7C */ cpu->r[12] = 0x00000000u;
|
|
/* 0209EB80 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209EB84 */ cpu->r[3] = cpu->r[28] + 0x0000008Cu;
|
|
/* 0209EB88 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 0209EB88 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 0209EB8C */ Gambit_fn_027FD390(cpu);
|
|
/* 0209EB90 */ _t24 = cpu->r[28] + 0x0000008Cu;
|
|
/* 0209EB90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0209EB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209EB98 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EB98 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0209EB98 */ if (_t26) goto L_0209EB9C; else goto L_0209EBA4;
|
|
L_0209EB9C: ; // 0x209eb9c
|
|
/* 0209EB9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209EBA0 */ goto L_0209ED6C;
|
|
L_0209EBA4: ; // 0x209eba4
|
|
/* 0209EBA4 */ Gambit_fn_027BDBAC(cpu);
|
|
/* 0209EBA8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0209EBAC */ cpu->r[0] = cpu->r[1] + 0x00000094u;
|
|
/* 0209EBB0 */ _t27 = cpu->r[31] + 0x0000739Au;
|
|
/* 0209EBB0 */ cpu->r[31] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0209EBB4 */ _t28 = cpu->r[28] + 0x00000094u;
|
|
/* 0209EBB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209EBB8 */ _t29 = cpu->r[1] + 0x00000112u;
|
|
/* 0209EBB8 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[31]);
|
|
/* 0209EBBC */ cpu->r[5] = 0x00000040u;
|
|
/* 0209EBC0 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 0209EBC0 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[31]);
|
|
/* 0209EBC4 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209EBC8 */ _t31 = cpu->r[1] + 0x00000088u;
|
|
/* 0209EBC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0209EBCC */ cpu->r[6] = cpu->r[6] + 0x00001FF0u;
|
|
/* 0209EBD0 */ _t32 = cpu->r[1] + 0x00000090u;
|
|
/* 0209EBD0 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 0209EBD4 */ cpu->r[27] = 0x10010000u;
|
|
/* 0209EBD8 */ _t33 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209EBD8 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 0209EBDC */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EBDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209EBE0 */ cpu->r[27] = cpu->r[27] + 0x00001F60u;
|
|
/* 0209EBE4 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0209EBE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 0209EBE8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209EBE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0209EBEC */ _t37 = cpu->r[7] + 0x00000064u;
|
|
/* 0209EBEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209EBF0 */ cpu->ctr = cpu->r[8];
|
|
/* 0209EBF4 */ cpu->r[6] = cpu->r[30];
|
|
/* 0209EBF8 */ cpu->r[4] = cpu->r[1] + 0x00000088u;
|
|
/* 0209EBFC */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209EC00 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209EC04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC08 */ _t38 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209EC08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209EC0C */ cpu->r[29] = cpu->r[3];
|
|
/* 0209EC10 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 0209EC10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209EC14 */ cpu->ctr = cpu->r[10];
|
|
/* 0209EC18 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0209EC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC20 */ _t40 = cpu->r[1] + 0x00000088u;
|
|
/* 0209EC20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209EC24 */ _t41 = cpu->r[28] + 0x00000004u;
|
|
/* 0209EC24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0209EC28 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209EC28 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0209EC2C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EC2C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0209EC30 */ _t44 = cpu->r[11] + 0x00000014u;
|
|
/* 0209EC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209EC34 */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 0209EC34 */ cpu->r[27] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209EC38 */ cpu->ctr = cpu->r[0];
|
|
/* 0209EC3C */ _t46 = cpu->r[28] + 0x00000140u;
|
|
/* 0209EC3C */ cpu->r[26] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209EC40 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209EC44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC48 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0209EC48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0209EC4C */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 0209EC4C */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
|
|
/* 0209EC50 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209EC54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209EC58 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209EC5C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EC5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209EC5C */ if (_t50) goto L_0209EC84; else goto L_0209EC60;
|
|
L_0209EC60: ; // 0x209ec60
|
|
/* 0209EC60 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209EC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0209EC68 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0209EC6C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209EC6C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0209EC6C */ if (_t52) goto L_0209EC80; else goto L_0209EC70;
|
|
L_0209EC70: ; // 0x209ec70
|
|
/* 0209EC70 */ _t53 = cpu->r[5] + 0x00000000u;
|
|
/* 0209EC70 */ cpu->r[6] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0209EC74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209EC78 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EC78 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209EC78 */ if (_t55) goto L_0209EC7C; else goto L_0209EC60;
|
|
L_0209EC7C: ; // 0x209ec7c
|
|
/* 0209EC7C */ goto L_0209EC84;
|
|
L_0209EC80: ; // 0x209ec80
|
|
/* 0209EC80 */ cpu->r[30] = 0x00000000u;
|
|
L_0209EC84: ; // 0x209ec84
|
|
/* 0209EC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EC88 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209EC88 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209EC88 */ if (_t57) goto L_0209EC8C; else goto L_0209EC9C;
|
|
L_0209EC8C: ; // 0x209ec8c
|
|
/* 0209EC8C */ cpu->r[7] = cpu->r[30] + cpu->r[26];
|
|
/* 0209EC90 */ cpu->r[26] = cpu->r[7] + 0x00000001u;
|
|
/* 0209EC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EC94 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209EC94 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209EC94 */ if (_t59) goto L_0209EC98; else goto L_0209EC9C;
|
|
L_0209EC98: ; // 0x209ec98
|
|
/* 0209EC98 */ cpu->r[26] = 0x00000000u;
|
|
L_0209EC9C: ; // 0x209ec9c
|
|
/* 0209EC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209ECA0 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209ECA0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209ECA0 */ if (_t61) goto L_0209ECA4; else goto L_0209ECF4;
|
|
L_0209ECA4: ; // 0x209eca4
|
|
/* 0209ECA4 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ECA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209ECA8 */ _t63 = cpu->r[8] + 0x00000014u;
|
|
/* 0209ECA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209ECAC */ cpu->ctr = cpu->r[9];
|
|
/* 0209ECB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209ECB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ECB8 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ECB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209ECBC */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 0209ECBC */ cpu->r[0] = rbrew_read16(cpu->mem, _t65);
|
|
/* 0209ECC0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0209ECC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209ECC8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209ECCC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ECCC */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209ECCC */ if (_t67) goto L_0209ECF4; else goto L_0209ECD0;
|
|
L_0209ECD0: ; // 0x209ecd0
|
|
/* 0209ECD0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0209ECD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0209ECD8 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 0209ECDC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ECDC */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209ECDC */ if (_t69) goto L_0209ECF0; else goto L_0209ECE0;
|
|
L_0209ECE0: ; // 0x209ece0
|
|
/* 0209ECE0 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 0209ECE0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0209ECE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209ECE8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ECE8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0209ECE8 */ if (_t72) goto L_0209ECEC; else goto L_0209ECD0;
|
|
L_0209ECEC: ; // 0x209ecec
|
|
/* 0209ECEC */ goto L_0209ECF4;
|
|
L_0209ECF0: ; // 0x209ecf0
|
|
/* 0209ECF0 */ cpu->r[29] = 0x00000000u;
|
|
L_0209ECF4: ; // 0x209ecf4
|
|
/* 0209ECF4 */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 0209ECF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209ECF8 */ cpu->r[7] = cpu->r[0] - cpu->r[26];
|
|
/* 0209ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0209ED00 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209ED00 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0209ED00 */ if (_t75) goto L_0209ED08; else goto L_0209ED04;
|
|
L_0209ED04: ; // 0x209ed04
|
|
/* 0209ED04 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209ED08: ; // 0x209ed08
|
|
/* 0209ED08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209ED0C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ED0C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209ED0C */ if (_t77) goto L_0209ED18; else goto L_0209ED10;
|
|
L_0209ED10: ; // 0x209ed10
|
|
/* 0209ED10 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209ED14 */ goto L_0209ED6C;
|
|
L_0209ED18: ; // 0x209ed18
|
|
/* 0209ED18 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ED18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0209ED1C */ _t79 = cpu->r[7] + 0x00000014u;
|
|
/* 0209ED1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209ED20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED24 */ cpu->ctr = cpu->r[8];
|
|
/* 0209ED28 */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 0209ED2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209ED30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ED34 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ED34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0209ED38 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209ED3C */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED40 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209ED44 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209ED48 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0209ED4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0209ED50 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ED50 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209ED50 */ if (_t82) goto L_0209ED54; else goto L_0209ED5C;
|
|
L_0209ED54: ; // 0x209ed54
|
|
/* 0209ED54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED58 */ _t83 = cpu->r[9] + cpu->r[27];
|
|
/* 0209ED58 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[31]);
|
|
L_0209ED5C: ; // 0x209ed5c
|
|
/* 0209ED5C */ _t84 = cpu->r[28] + 0x00000140u;
|
|
/* 0209ED5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209ED60 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
/* 0209ED64 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209ED68 */ _t85 = cpu->r[28] + 0x00000140u;
|
|
/* 0209ED68 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
L_0209ED6C: ; // 0x209ed6c
|
|
/* 0209ED6C */ /* nop */
|
|
/* 0209ED70 */ _t86 = cpu->r[1] + 0x00000134u;
|
|
/* 0209ED70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0209ED74 */ cpu->lr = cpu->r[0];
|
|
/* 0209ED78 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 0209ED7C */ return;
|
|
}
|
|
|
|
// fn_0209EB04 @ 0x209eb04
|
|
void Gambit_fn_0209EB04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0209EB04: ; // 0x209eb04
|
|
/* 0209EB04 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 0209EB04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209EB04 */ cpu->r[1] = _t0;
|
|
/* 0209EB08 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209EB08 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0209EB0C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0209EB0C */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0209EB10 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209EB10 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0209EB14 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0209EB14 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0209EB18 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0209EB18 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 0209EB1C */ _t6 = cpu->r[1] + 0x00000134u;
|
|
/* 0209EB1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209EB20 */ /* nop */
|
|
/* 0209EB24 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 0209EB24 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209EB28 */ _t8 = cpu->r[1] + 0x00000044u;
|
|
/* 0209EB28 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209EB2C */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0209EB2C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0209EB30 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209EB30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209EB30 */ if (_t11) goto L_0209EB34; else goto L_0209EB54;
|
|
L_0209EB34: ; // 0x209eb34
|
|
/* 0209EB34 */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 0209EB34 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 0209EB38 */ _t13 = cpu->r[1] + 0x00000078u;
|
|
/* 0209EB38 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 0209EB3C */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 0209EB3C */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 0209EB40 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 0209EB40 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 0209EB44 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0209EB44 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 0209EB48 */ _t17 = cpu->r[1] + 0x00000080u;
|
|
/* 0209EB48 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 0209EB4C */ _t18 = cpu->r[1] + 0x00000068u;
|
|
/* 0209EB4C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 0209EB50 */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0209EB50 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_0209EB54: ; // 0x209eb54
|
|
/* 0209EB54 */ cpu->r[10] = cpu->r[1] + 0x00000138u;
|
|
/* 0209EB58 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209EB5C */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 0209EB60 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0209EB60 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0209EB64 */ cpu->r[30] = cpu->r[6];
|
|
/* 0209EB68 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209EB6C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209EB6C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 0209EB70 */ cpu->r[28] = cpu->r[3];
|
|
/* 0209EB74 */ cpu->r[5] = cpu->r[4];
|
|
/* 0209EB78 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0209EB78 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0209EB7C */ cpu->r[12] = 0x00000000u;
|
|
/* 0209EB80 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209EB84 */ cpu->r[3] = cpu->r[28] + 0x0000008Cu;
|
|
/* 0209EB88 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 0209EB88 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 0209EB8C */ Gambit_fn_027FD390(cpu);
|
|
/* 0209EB90 */ _t24 = cpu->r[28] + 0x0000008Cu;
|
|
/* 0209EB90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0209EB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209EB98 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EB98 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0209EB98 */ if (_t26) goto L_0209EB9C; else goto L_0209EBA4;
|
|
L_0209EB9C: ; // 0x209eb9c
|
|
/* 0209EB9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0209EBA0 */ goto L_0209ED6C;
|
|
L_0209EBA4: ; // 0x209eba4
|
|
/* 0209EBA4 */ Gambit_fn_027BDBAC(cpu);
|
|
/* 0209EBA8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0209EBAC */ cpu->r[0] = cpu->r[1] + 0x00000094u;
|
|
/* 0209EBB0 */ _t27 = cpu->r[31] + 0x0000739Au;
|
|
/* 0209EBB0 */ cpu->r[31] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0209EBB4 */ _t28 = cpu->r[28] + 0x00000094u;
|
|
/* 0209EBB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209EBB8 */ _t29 = cpu->r[1] + 0x00000112u;
|
|
/* 0209EBB8 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[31]);
|
|
/* 0209EBBC */ cpu->r[5] = 0x00000040u;
|
|
/* 0209EBC0 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 0209EBC0 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[31]);
|
|
/* 0209EBC4 */ cpu->r[6] = 0x10010000u;
|
|
/* 0209EBC8 */ _t31 = cpu->r[1] + 0x00000088u;
|
|
/* 0209EBC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0209EBCC */ cpu->r[6] = cpu->r[6] + 0x00001FF0u;
|
|
/* 0209EBD0 */ _t32 = cpu->r[1] + 0x00000090u;
|
|
/* 0209EBD0 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 0209EBD4 */ cpu->r[27] = 0x10010000u;
|
|
/* 0209EBD8 */ _t33 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209EBD8 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 0209EBDC */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EBDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209EBE0 */ cpu->r[27] = cpu->r[27] + 0x00001F60u;
|
|
/* 0209EBE4 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0209EBE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 0209EBE8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209EBE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0209EBEC */ _t37 = cpu->r[7] + 0x00000064u;
|
|
/* 0209EBEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209EBF0 */ cpu->ctr = cpu->r[8];
|
|
/* 0209EBF4 */ cpu->r[6] = cpu->r[30];
|
|
/* 0209EBF8 */ cpu->r[4] = cpu->r[1] + 0x00000088u;
|
|
/* 0209EBFC */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209EC00 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209EC04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC08 */ _t38 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209EC08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209EC0C */ cpu->r[29] = cpu->r[3];
|
|
/* 0209EC10 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 0209EC10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209EC14 */ cpu->ctr = cpu->r[10];
|
|
/* 0209EC18 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0209EC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC20 */ _t40 = cpu->r[1] + 0x00000088u;
|
|
/* 0209EC20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209EC24 */ _t41 = cpu->r[28] + 0x00000004u;
|
|
/* 0209EC24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0209EC28 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209EC28 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0209EC2C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0209EC2C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0209EC30 */ _t44 = cpu->r[11] + 0x00000014u;
|
|
/* 0209EC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209EC34 */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 0209EC34 */ cpu->r[27] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209EC38 */ cpu->ctr = cpu->r[0];
|
|
/* 0209EC3C */ _t46 = cpu->r[28] + 0x00000140u;
|
|
/* 0209EC3C */ cpu->r[26] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209EC40 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209EC44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209EC48 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0209EC48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0209EC4C */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 0209EC4C */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
|
|
/* 0209EC50 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209EC54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209EC58 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209EC5C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EC5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209EC5C */ if (_t50) goto L_0209EC84; else goto L_0209EC60;
|
|
L_0209EC60: ; // 0x209ec60
|
|
/* 0209EC60 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209EC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0209EC68 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0209EC6C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209EC6C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0209EC6C */ if (_t52) goto L_0209EC80; else goto L_0209EC70;
|
|
L_0209EC70: ; // 0x209ec70
|
|
/* 0209EC70 */ _t53 = cpu->r[5] + 0x00000000u;
|
|
/* 0209EC70 */ cpu->r[6] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0209EC74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209EC78 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EC78 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209EC78 */ if (_t55) goto L_0209EC7C; else goto L_0209EC60;
|
|
L_0209EC7C: ; // 0x209ec7c
|
|
/* 0209EC7C */ goto L_0209EC84;
|
|
L_0209EC80: ; // 0x209ec80
|
|
/* 0209EC80 */ cpu->r[30] = 0x00000000u;
|
|
L_0209EC84: ; // 0x209ec84
|
|
/* 0209EC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EC88 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209EC88 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209EC88 */ if (_t57) goto L_0209EC8C; else goto L_0209EC9C;
|
|
L_0209EC8C: ; // 0x209ec8c
|
|
/* 0209EC8C */ cpu->r[7] = cpu->r[30] + cpu->r[26];
|
|
/* 0209EC90 */ cpu->r[26] = cpu->r[7] + 0x00000001u;
|
|
/* 0209EC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EC94 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209EC94 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209EC94 */ if (_t59) goto L_0209EC98; else goto L_0209EC9C;
|
|
L_0209EC98: ; // 0x209ec98
|
|
/* 0209EC98 */ cpu->r[26] = 0x00000000u;
|
|
L_0209EC9C: ; // 0x209ec9c
|
|
/* 0209EC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209ECA0 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209ECA0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209ECA0 */ if (_t61) goto L_0209ECA4; else goto L_0209ECF4;
|
|
L_0209ECA4: ; // 0x209eca4
|
|
/* 0209ECA4 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ECA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209ECA8 */ _t63 = cpu->r[8] + 0x00000014u;
|
|
/* 0209ECA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209ECAC */ cpu->ctr = cpu->r[9];
|
|
/* 0209ECB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209ECB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ECB8 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ECB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209ECBC */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 0209ECBC */ cpu->r[0] = rbrew_read16(cpu->mem, _t65);
|
|
/* 0209ECC0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0209ECC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209ECC8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209ECCC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ECCC */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209ECCC */ if (_t67) goto L_0209ECF4; else goto L_0209ECD0;
|
|
L_0209ECD0: ; // 0x209ecd0
|
|
/* 0209ECD0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0209ECD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0209ECD8 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 0209ECDC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ECDC */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209ECDC */ if (_t69) goto L_0209ECF0; else goto L_0209ECE0;
|
|
L_0209ECE0: ; // 0x209ece0
|
|
/* 0209ECE0 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 0209ECE0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0209ECE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209ECE8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ECE8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0209ECE8 */ if (_t72) goto L_0209ECEC; else goto L_0209ECD0;
|
|
L_0209ECEC: ; // 0x209ecec
|
|
/* 0209ECEC */ goto L_0209ECF4;
|
|
L_0209ECF0: ; // 0x209ecf0
|
|
/* 0209ECF0 */ cpu->r[29] = 0x00000000u;
|
|
L_0209ECF4: ; // 0x209ecf4
|
|
/* 0209ECF4 */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 0209ECF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209ECF8 */ cpu->r[7] = cpu->r[0] - cpu->r[26];
|
|
/* 0209ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0209ED00 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209ED00 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0209ED00 */ if (_t75) goto L_0209ED08; else goto L_0209ED04;
|
|
L_0209ED04: ; // 0x209ed04
|
|
/* 0209ED04 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209ED08: ; // 0x209ed08
|
|
/* 0209ED08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209ED0C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ED0C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209ED0C */ if (_t77) goto L_0209ED18; else goto L_0209ED10;
|
|
L_0209ED10: ; // 0x209ed10
|
|
/* 0209ED10 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209ED14 */ goto L_0209ED6C;
|
|
L_0209ED18: ; // 0x209ed18
|
|
/* 0209ED18 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209ED18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0209ED1C */ _t79 = cpu->r[7] + 0x00000014u;
|
|
/* 0209ED1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209ED20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED24 */ cpu->ctr = cpu->r[8];
|
|
/* 0209ED28 */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 0209ED2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209ED30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209ED34 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0209ED34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0209ED38 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209ED3C */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED40 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209ED44 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209ED48 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0209ED4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0209ED50 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209ED50 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209ED50 */ if (_t82) goto L_0209ED54; else goto L_0209ED5C;
|
|
L_0209ED54: ; // 0x209ed54
|
|
/* 0209ED54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209ED58 */ _t83 = cpu->r[9] + cpu->r[27];
|
|
/* 0209ED58 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[31]);
|
|
L_0209ED5C: ; // 0x209ed5c
|
|
/* 0209ED5C */ _t84 = cpu->r[28] + 0x00000140u;
|
|
/* 0209ED5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209ED60 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
/* 0209ED64 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209ED68 */ _t85 = cpu->r[28] + 0x00000140u;
|
|
/* 0209ED68 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
L_0209ED6C: ; // 0x209ed6c
|
|
/* 0209ED6C */ /* nop */
|
|
/* 0209ED70 */ _t86 = cpu->r[1] + 0x00000134u;
|
|
/* 0209ED70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0209ED74 */ cpu->lr = cpu->r[0];
|
|
/* 0209ED78 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 0209ED7C */ return;
|
|
}
|
|
|
|
// fn_0209ED80 @ 0x209ed80
|
|
void Gambit_fn_0209ED80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209ED80: ; // 0x209ed80
|
|
/* 0209ED80 */ cpu->r[0] = cpu->lr;
|
|
/* 0209ED84 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209ED84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ED84 */ cpu->r[1] = _t0;
|
|
/* 0209ED88 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209ED88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209ED8C */ /* nop */
|
|
/* 0209ED90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209ED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209ED94 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209ED98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ED98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209ED98 */ if (_t3) goto L_0209ED9C; else goto L_0209EDAC;
|
|
L_0209ED9C: ; // 0x209ed9c
|
|
/* 0209ED9C */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209EDA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209EDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209EDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209EDA8 */ if (_t5) goto L_0209F03C; else goto L_0209EDAC;
|
|
L_0209EDAC: ; // 0x209edac
|
|
/* 0209EDAC */ cpu->r[29] = cpu->r[31];
|
|
/* 0209EDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209EDB0 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209EDB4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209EDB4 */ if (_t7) goto L_0209EDB8; else goto L_0209EDE4;
|
|
L_0209EDB8: ; // 0x209edb8
|
|
/* 0209EDB8 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209EDBC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDC0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209EDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209EDC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209EDC4 */ if (_t9) goto L_0209EDC8; else goto L_0209EDE4;
|
|
L_0209EDC8: ; // 0x209edc8
|
|
/* 0209EDC8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EDCC */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EDCC */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209EDD0 */ cpu->r[0] = cpu->r[0] + 0x00002160u;
|
|
/* 0209EDD4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209EDD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209EDD8 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209EDD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209EDDC */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209EDDC */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209EDE0 */ goto L_0209F03C;
|
|
L_0209EDE4: ; // 0x209ede4
|
|
/* 0209EDE4 */ cpu->r[27] = cpu->r[29];
|
|
/* 0209EDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209EDE8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDE8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209EDE8 */ if (_t15) goto L_0209EDEC; else goto L_0209EE1C;
|
|
L_0209EDEC: ; // 0x209edec
|
|
/* 0209EDEC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0209EDF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDF4 */ cpu->r[27] = cpu->r[3];
|
|
/* 0209EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209EDF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDF8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209EDF8 */ if (_t17) goto L_0209EDFC; else goto L_0209EE1C;
|
|
L_0209EDFC: ; // 0x209edfc
|
|
/* 0209EDFC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE00 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209EE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EE04 */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE04 */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209EE08 */ cpu->r[0] = cpu->r[0] + 0x00002148u;
|
|
/* 0209EE0C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209EE10 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209EE10 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209EE14 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE14 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209EE14 */ if (_t21) goto L_0209EEA0; else goto L_0209EE18;
|
|
L_0209EE18: ; // 0x209ee18
|
|
/* 0209EE18 */ goto L_0209EEB0;
|
|
L_0209EE1C: ; // 0x209ee1c
|
|
/* 0209EE1C */ cpu->r[3] = cpu->r[27];
|
|
/* 0209EE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EE20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209EE20 */ if (_t23) goto L_0209EE24; else goto L_0209EE50;
|
|
L_0209EE24: ; // 0x209ee24
|
|
/* 0209EE24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EE28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EE30 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE30 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209EE30 */ if (_t25) goto L_0209EE34; else goto L_0209EE50;
|
|
L_0209EE34: ; // 0x209ee34
|
|
/* 0209EE34 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE38 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE38 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209EE3C */ cpu->r[0] = cpu->r[0] + 0x00002118u;
|
|
/* 0209EE40 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209EE40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209EE44 */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209EE44 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209EE48 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EE48 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209EE4C */ goto L_0209EE88;
|
|
L_0209EE50: ; // 0x209ee50
|
|
/* 0209EE50 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209EE54 */ cpu->r[5] = 0x00000080u;
|
|
/* 0209EE58 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE5C */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EE5C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209EE60 */ cpu->r[0] = cpu->r[0] + 0x00002100u;
|
|
/* 0209EE64 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EE64 */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209EE68 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EE68 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209EE6C */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE6C */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209EE70 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE74 */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209EE74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209EE78 */ cpu->r[0] = cpu->r[0] + 0x00002118u;
|
|
/* 0209EE7C */ _t35 = cpu->r[27] + 0x0000010Au;
|
|
/* 0209EE7C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209EE80 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209EE80 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209EE84 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EE84 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209EE88: ; // 0x209ee88
|
|
/* 0209EE88 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE8C */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209EE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EE90 */ cpu->r[0] = cpu->r[0] + 0x00002148u;
|
|
/* 0209EE94 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209EE98 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209EE98 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209EE9C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE9C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209EE9C */ if (_t40) goto L_0209EEA0; else goto L_0209EEB0;
|
|
L_0209EEA0: ; // 0x209eea0
|
|
/* 0209EEA0 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209EEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EEA8 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209EEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EEAC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEAC */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209EEAC */ if (_t42) goto L_0209F018; else goto L_0209EEB0;
|
|
L_0209EEB0: ; // 0x209eeb0
|
|
/* 0209EEB0 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209EEB0 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209EEB4 */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209EEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEB8 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209EEBC */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209EEBC */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209EEC0 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209EEC4 */ cpu->r[25] = 0x10010000u;
|
|
/* 0209EEC8 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209EEC8 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209EECC */ cpu->r[24] = cpu->r[24] + 0x000020E8u;
|
|
/* 0209EED0 */ cpu->r[25] = cpu->r[25] + 0x000020D0u;
|
|
/* 0209EED4 */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209EED4 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209EED8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EED8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209EED8 */ if (_t48) goto L_0209EEDC; else goto L_0209EEFC;
|
|
L_0209EEDC: ; // 0x209eedc
|
|
/* 0209EEDC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EEE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EEE4 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209EEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEE8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEE8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209EEE8 */ if (_t50) goto L_0209EEEC; else goto L_0209EEFC;
|
|
L_0209EEEC: ; // 0x209eeec
|
|
/* 0209EEEC */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209EEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEF0 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EEF0 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209EEF4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEF4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209EEF4 */ if (_t53) goto L_0209EEF8; else goto L_0209EF98;
|
|
L_0209EEF8: ; // 0x209eef8
|
|
/* 0209EEF8 */ goto L_0209EF88;
|
|
L_0209EEFC: ; // 0x209eefc
|
|
/* 0209EEFC */ cpu->r[22] = cpu->r[21];
|
|
/* 0209EEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF00 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF00 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209EF00 */ if (_t55) goto L_0209EF04; else goto L_0209EF20;
|
|
L_0209EF04: ; // 0x209ef04
|
|
/* 0209EF04 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EF08 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF0C */ cpu->r[22] = cpu->r[3];
|
|
/* 0209EF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF10 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF10 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209EF10 */ if (_t57) goto L_0209EF14; else goto L_0209EF20;
|
|
L_0209EF14: ; // 0x209ef14
|
|
/* 0209EF14 */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF14 */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209EF18 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EF18 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209EF1C */ goto L_0209EF80;
|
|
L_0209EF20: ; // 0x209ef20
|
|
/* 0209EF20 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209EF20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EF24 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF24 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209EF24 */ if (_t61) goto L_0209EF28; else goto L_0209EF4C;
|
|
L_0209EF28: ; // 0x209ef28
|
|
/* 0209EF28 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EF2C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EF34 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF34 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209EF34 */ if (_t63) goto L_0209EF38; else goto L_0209EF4C;
|
|
L_0209EF38: ; // 0x209ef38
|
|
/* 0209EF38 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EF38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209EF3C */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF3C */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209EF40 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EF40 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209EF44 */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209EF44 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209EF48 */ goto L_0209EF7C;
|
|
L_0209EF4C: ; // 0x209ef4c
|
|
/* 0209EF4C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209EF50 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209EF54 */ cpu->r[10] = cpu->r[10] + 0x00002088u;
|
|
/* 0209EF58 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EF58 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209EF5C */ cpu->r[11] = 0x00000040u;
|
|
/* 0209EF60 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EF60 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209EF64 */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EF64 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209EF68 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF68 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209EF6C */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EF6C */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209EF70 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EF70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209EF74 */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209EF74 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209EF78 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209EF78 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209EF7C: ; // 0x209ef7c
|
|
/* 0209EF7C */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EF7C */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209EF80: ; // 0x209ef80
|
|
/* 0209EF80 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209EF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EF84 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF84 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209EF84 */ if (_t78) goto L_0209EF88; else goto L_0209EF98;
|
|
L_0209EF88: ; // 0x209ef88
|
|
/* 0209EF88 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EF8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF90 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209EF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EF94 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF94 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209EF94 */ if (_t80) goto L_0209EFF8; else goto L_0209EF98;
|
|
L_0209EF98: ; // 0x209ef98
|
|
/* 0209EF98 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209EF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF9C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209EF9C */ if (_t82) goto L_0209EFA0; else goto L_0209EFB0;
|
|
L_0209EFA0: ; // 0x209efa0
|
|
/* 0209EFA0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EFA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EFA8 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209EFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EFAC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFAC */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209EFAC */ if (_t84) goto L_0209EFF4; else goto L_0209EFB0;
|
|
L_0209EFB0: ; // 0x209efb0
|
|
/* 0209EFB0 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EFB4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFB4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209EFB4 */ if (_t86) goto L_0209EFB8; else goto L_0209EFC8;
|
|
L_0209EFB8: ; // 0x209efb8
|
|
/* 0209EFB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EFBC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EFC4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFC4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209EFC4 */ if (_t88) goto L_0209EFE8; else goto L_0209EFC8;
|
|
L_0209EFC8: ; // 0x209efc8
|
|
/* 0209EFC8 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209EFCC */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209EFD0 */ cpu->r[5] = cpu->r[5] + 0x00002088u;
|
|
/* 0209EFD4 */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EFD4 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209EFD8 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209EFDC */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EFDC */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209EFE0 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EFE0 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209EFE4 */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209EFE4 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209EFE8: ; // 0x209efe8
|
|
/* 0209EFE8 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EFE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209EFEC */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EFEC */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209EFF0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EFF0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209EFF4: ; // 0x209eff4
|
|
/* 0209EFF4 */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EFF4 */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209EFF8: ; // 0x209eff8
|
|
/* 0209EFF8 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209EFF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209EFFC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209F000 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209F000 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209F004 */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209F004 */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209F008 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209F008 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209F00C */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209F00C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209F010 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209F010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209F014 */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F014 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209F018: ; // 0x209f018
|
|
/* 0209F018 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209F018 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209F01C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F020 */ _t105 = cpu->r[29] + 0x000001C4u;
|
|
/* 0209F020 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209F024 */ cpu->r[0] = cpu->r[0] + 0x00002160u;
|
|
/* 0209F028 */ _t106 = cpu->r[29] + 0x000001C0u;
|
|
/* 0209F028 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209F02C */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F02C */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209F030 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209F030 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209F034 */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209F034 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209F038 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F038 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209F03C: ; // 0x209f03c
|
|
/* 0209F03C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209F040 */ /* nop */
|
|
/* 0209F044 */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209F048 */ cpu->lr = cpu->r[0];
|
|
/* 0209F04C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209F050 */ return;
|
|
}
|
|
|
|
// fn_0209ED84 @ 0x209ed84
|
|
void Gambit_fn_0209ED84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209ED84: ; // 0x209ed84
|
|
/* 0209ED84 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209ED84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209ED84 */ cpu->r[1] = _t0;
|
|
/* 0209ED88 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209ED88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209ED8C */ /* nop */
|
|
/* 0209ED90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209ED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209ED94 */ cpu->r[30] = cpu->r[4];
|
|
/* 0209ED98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209ED98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209ED98 */ if (_t3) goto L_0209ED9C; else goto L_0209EDAC;
|
|
L_0209ED9C: ; // 0x209ed9c
|
|
/* 0209ED9C */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209EDA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209EDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209EDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209EDA8 */ if (_t5) goto L_0209F03C; else goto L_0209EDAC;
|
|
L_0209EDAC: ; // 0x209edac
|
|
/* 0209EDAC */ cpu->r[29] = cpu->r[31];
|
|
/* 0209EDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209EDB0 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209EDB4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209EDB4 */ if (_t7) goto L_0209EDB8; else goto L_0209EDE4;
|
|
L_0209EDB8: ; // 0x209edb8
|
|
/* 0209EDB8 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209EDBC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDC0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209EDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209EDC4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209EDC4 */ if (_t9) goto L_0209EDC8; else goto L_0209EDE4;
|
|
L_0209EDC8: ; // 0x209edc8
|
|
/* 0209EDC8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EDCC */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EDCC */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209EDD0 */ cpu->r[0] = cpu->r[0] + 0x00002160u;
|
|
/* 0209EDD4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209EDD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209EDD8 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209EDD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209EDDC */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209EDDC */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209EDE0 */ goto L_0209F03C;
|
|
L_0209EDE4: ; // 0x209ede4
|
|
/* 0209EDE4 */ cpu->r[27] = cpu->r[29];
|
|
/* 0209EDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209EDE8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDE8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209EDE8 */ if (_t15) goto L_0209EDEC; else goto L_0209EE1C;
|
|
L_0209EDEC: ; // 0x209edec
|
|
/* 0209EDEC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0209EDF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EDF4 */ cpu->r[27] = cpu->r[3];
|
|
/* 0209EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209EDF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EDF8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209EDF8 */ if (_t17) goto L_0209EDFC; else goto L_0209EE1C;
|
|
L_0209EDFC: ; // 0x209edfc
|
|
/* 0209EDFC */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE00 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209EE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EE04 */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE04 */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209EE08 */ cpu->r[0] = cpu->r[0] + 0x00002148u;
|
|
/* 0209EE0C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209EE10 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209EE10 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209EE14 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE14 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209EE14 */ if (_t21) goto L_0209EEA0; else goto L_0209EE18;
|
|
L_0209EE18: ; // 0x209ee18
|
|
/* 0209EE18 */ goto L_0209EEB0;
|
|
L_0209EE1C: ; // 0x209ee1c
|
|
/* 0209EE1C */ cpu->r[3] = cpu->r[27];
|
|
/* 0209EE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EE20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209EE20 */ if (_t23) goto L_0209EE24; else goto L_0209EE50;
|
|
L_0209EE24: ; // 0x209ee24
|
|
/* 0209EE24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EE28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EE30 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE30 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209EE30 */ if (_t25) goto L_0209EE34; else goto L_0209EE50;
|
|
L_0209EE34: ; // 0x209ee34
|
|
/* 0209EE34 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE38 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE38 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209EE3C */ cpu->r[0] = cpu->r[0] + 0x00002118u;
|
|
/* 0209EE40 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209EE40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209EE44 */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209EE44 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209EE48 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EE48 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209EE4C */ goto L_0209EE88;
|
|
L_0209EE50: ; // 0x209ee50
|
|
/* 0209EE50 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209EE54 */ cpu->r[5] = 0x00000080u;
|
|
/* 0209EE58 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE5C */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EE5C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209EE60 */ cpu->r[0] = cpu->r[0] + 0x00002100u;
|
|
/* 0209EE64 */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EE64 */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209EE68 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EE68 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209EE6C */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209EE6C */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209EE70 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE74 */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209EE74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209EE78 */ cpu->r[0] = cpu->r[0] + 0x00002118u;
|
|
/* 0209EE7C */ _t35 = cpu->r[27] + 0x0000010Au;
|
|
/* 0209EE7C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209EE80 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209EE80 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209EE84 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EE84 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209EE88: ; // 0x209ee88
|
|
/* 0209EE88 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209EE8C */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209EE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EE90 */ cpu->r[0] = cpu->r[0] + 0x00002148u;
|
|
/* 0209EE94 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209EE98 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209EE98 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209EE9C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EE9C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209EE9C */ if (_t40) goto L_0209EEA0; else goto L_0209EEB0;
|
|
L_0209EEA0: ; // 0x209eea0
|
|
/* 0209EEA0 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209EEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EEA8 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209EEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209EEAC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEAC */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209EEAC */ if (_t42) goto L_0209F018; else goto L_0209EEB0;
|
|
L_0209EEB0: ; // 0x209eeb0
|
|
/* 0209EEB0 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209EEB0 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209EEB4 */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209EEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEB8 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209EEBC */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209EEBC */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209EEC0 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209EEC4 */ cpu->r[25] = 0x10010000u;
|
|
/* 0209EEC8 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209EEC8 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209EECC */ cpu->r[24] = cpu->r[24] + 0x000020E8u;
|
|
/* 0209EED0 */ cpu->r[25] = cpu->r[25] + 0x000020D0u;
|
|
/* 0209EED4 */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209EED4 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209EED8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EED8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209EED8 */ if (_t48) goto L_0209EEDC; else goto L_0209EEFC;
|
|
L_0209EEDC: ; // 0x209eedc
|
|
/* 0209EEDC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EEE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EEE4 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209EEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEE8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEE8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209EEE8 */ if (_t50) goto L_0209EEEC; else goto L_0209EEFC;
|
|
L_0209EEEC: ; // 0x209eeec
|
|
/* 0209EEEC */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209EEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EEF0 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EEF0 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209EEF4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EEF4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209EEF4 */ if (_t53) goto L_0209EEF8; else goto L_0209EF98;
|
|
L_0209EEF8: ; // 0x209eef8
|
|
/* 0209EEF8 */ goto L_0209EF88;
|
|
L_0209EEFC: ; // 0x209eefc
|
|
/* 0209EEFC */ cpu->r[22] = cpu->r[21];
|
|
/* 0209EEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF00 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF00 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209EF00 */ if (_t55) goto L_0209EF04; else goto L_0209EF20;
|
|
L_0209EF04: ; // 0x209ef04
|
|
/* 0209EF04 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EF08 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF0C */ cpu->r[22] = cpu->r[3];
|
|
/* 0209EF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF10 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF10 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209EF10 */ if (_t57) goto L_0209EF14; else goto L_0209EF20;
|
|
L_0209EF14: ; // 0x209ef14
|
|
/* 0209EF14 */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF14 */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209EF18 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EF18 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209EF1C */ goto L_0209EF80;
|
|
L_0209EF20: ; // 0x209ef20
|
|
/* 0209EF20 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209EF20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EF24 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF24 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209EF24 */ if (_t61) goto L_0209EF28; else goto L_0209EF4C;
|
|
L_0209EF28: ; // 0x209ef28
|
|
/* 0209EF28 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EF2C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EF34 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF34 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209EF34 */ if (_t63) goto L_0209EF38; else goto L_0209EF4C;
|
|
L_0209EF38: ; // 0x209ef38
|
|
/* 0209EF38 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EF38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209EF3C */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF3C */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209EF40 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EF40 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209EF44 */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209EF44 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209EF48 */ goto L_0209EF7C;
|
|
L_0209EF4C: ; // 0x209ef4c
|
|
/* 0209EF4C */ cpu->r[10] = 0x10010000u;
|
|
/* 0209EF50 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209EF54 */ cpu->r[10] = cpu->r[10] + 0x00002088u;
|
|
/* 0209EF58 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EF58 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209EF5C */ cpu->r[11] = 0x00000040u;
|
|
/* 0209EF60 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EF60 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209EF64 */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EF64 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209EF68 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209EF68 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209EF6C */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EF6C */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209EF70 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EF70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209EF74 */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209EF74 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209EF78 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209EF78 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209EF7C: ; // 0x209ef7c
|
|
/* 0209EF7C */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EF7C */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209EF80: ; // 0x209ef80
|
|
/* 0209EF80 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209EF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EF84 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF84 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209EF84 */ if (_t78) goto L_0209EF88; else goto L_0209EF98;
|
|
L_0209EF88: ; // 0x209ef88
|
|
/* 0209EF88 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EF8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EF90 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209EF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209EF94 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF94 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209EF94 */ if (_t80) goto L_0209EFF8; else goto L_0209EF98;
|
|
L_0209EF98: ; // 0x209ef98
|
|
/* 0209EF98 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209EF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EF9C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EF9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209EF9C */ if (_t82) goto L_0209EFA0; else goto L_0209EFB0;
|
|
L_0209EFA0: ; // 0x209efa0
|
|
/* 0209EFA0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209EFA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EFA8 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209EFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209EFAC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFAC */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209EFAC */ if (_t84) goto L_0209EFF4; else goto L_0209EFB0;
|
|
L_0209EFB0: ; // 0x209efb0
|
|
/* 0209EFB0 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EFB4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFB4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209EFB4 */ if (_t86) goto L_0209EFB8; else goto L_0209EFC8;
|
|
L_0209EFB8: ; // 0x209efb8
|
|
/* 0209EFB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209EFBC */ Gambit_fn_02801A78(cpu);
|
|
/* 0209EFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209EFC4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209EFC4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209EFC4 */ if (_t88) goto L_0209EFE8; else goto L_0209EFC8;
|
|
L_0209EFC8: ; // 0x209efc8
|
|
/* 0209EFC8 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209EFCC */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209EFD0 */ cpu->r[5] = cpu->r[5] + 0x00002088u;
|
|
/* 0209EFD4 */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209EFD4 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209EFD8 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209EFDC */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209EFDC */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209EFE0 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209EFE0 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209EFE4 */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209EFE4 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209EFE8: ; // 0x209efe8
|
|
/* 0209EFE8 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209EFE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209EFEC */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209EFEC */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209EFF0 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209EFF0 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209EFF4: ; // 0x209eff4
|
|
/* 0209EFF4 */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209EFF4 */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209EFF8: ; // 0x209eff8
|
|
/* 0209EFF8 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209EFF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209EFFC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209F000 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209F000 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209F004 */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209F004 */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209F008 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209F008 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209F00C */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209F00C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209F010 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209F010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209F014 */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F014 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209F018: ; // 0x209f018
|
|
/* 0209F018 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209F018 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209F01C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F020 */ _t105 = cpu->r[29] + 0x000001C4u;
|
|
/* 0209F020 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209F024 */ cpu->r[0] = cpu->r[0] + 0x00002160u;
|
|
/* 0209F028 */ _t106 = cpu->r[29] + 0x000001C0u;
|
|
/* 0209F028 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209F02C */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F02C */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209F030 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209F030 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209F034 */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209F034 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209F038 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F038 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209F03C: ; // 0x209f03c
|
|
/* 0209F03C */ cpu->r[3] = cpu->r[31];
|
|
/* 0209F040 */ /* nop */
|
|
/* 0209F044 */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209F048 */ cpu->lr = cpu->r[0];
|
|
/* 0209F04C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209F050 */ return;
|
|
}
|
|
|
|
// fn_0209F054 @ 0x209f054
|
|
void Gambit_fn_0209F054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165;
|
|
|
|
L_0209F054: ; // 0x209f054
|
|
/* 0209F054 */ _t0 = cpu->r[1] + 0xFFFFFE50u;
|
|
/* 0209F054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F054 */ cpu->r[1] = _t0;
|
|
/* 0209F058 */ /* nop */
|
|
/* 0209F05C */ cpu->r[30] = cpu->r[6];
|
|
/* 0209F060 */ cpu->r[28] = cpu->r[5];
|
|
/* 0209F064 */ cpu->r[27] = cpu->r[3];
|
|
/* 0209F068 */ cpu->r[0] = cpu->lr;
|
|
/* 0209F06C */ _t1 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F06C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209F070 */ cpu->r[29] = cpu->r[4];
|
|
/* 0209F074 */ Gambit_fn_027BDBAC(cpu);
|
|
/* 0209F078 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0209F078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209F07C */ _t3 = cpu->r[6] + 0x00000074u;
|
|
/* 0209F07C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209F080 */ cpu->ctr = cpu->r[8];
|
|
/* 0209F084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F088 */ _t4 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F088 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209F08C */ cpu->r[31] = 0x10110000u;
|
|
/* 0209F090 */ cpu->r[9] = cpu->r[1] + 0x00000058u;
|
|
/* 0209F094 */ cpu->r[0] = 0x00000020u;
|
|
/* 0209F098 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 0209F098 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0209F09C */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 0209F09C */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0209F0A0 */ cpu->r[25] = 0x10010000u;
|
|
/* 0209F0A4 */ _t7 = cpu->r[1] + 0x00000054u;
|
|
/* 0209F0A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0209F0A8 */ cpu->r[23] = 0x10010000u;
|
|
/* 0209F0AC */ cpu->r[25] = cpu->r[25] + 0x000020B8u;
|
|
/* 0209F0B0 */ _t8 = cpu->r[1] + 0x00000058u;
|
|
/* 0209F0B0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 0209F0B4 */ cpu->r[23] = cpu->r[23] + 0x00002058u;
|
|
/* 0209F0B8 */ _t9 = cpu->r[1] + 0x00000050u;
|
|
/* 0209F0B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[25]);
|
|
/* 0209F0BC */ cpu->r[4] = 0x10010000u;
|
|
/* 0209F0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 0209F0C4 */ _t10 = cpu->r[1] + 0x00000077u;
|
|
/* 0209F0C4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 0209F0C8 */ cpu->r[4] = cpu->r[4] + 0x00002188u;
|
|
/* 0209F0CC */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209F0CC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0209F0D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F0D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209F0D0 */ if (_t13) goto L_0209F0D4; else goto L_0209F0DC;
|
|
L_0209F0D4: ; // 0x209f0d4
|
|
/* 0209F0D4 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209F0D8 */ cpu->r[4] = cpu->r[4] + 0x00002178u;
|
|
L_0209F0DC: ; // 0x209f0dc
|
|
/* 0209F0DC */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209F0E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0209F0E4 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F0E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209F0E4 */ if (_t15) goto L_0209F0E8; // else: addr-0 trap, fall-through
|
|
L_0209F0E8: ; // 0x209f0e8
|
|
/* 0209F0E8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209F0EC */ cpu->r[7] = 0x10010000u;
|
|
/* 0209F0F0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F0F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[23]);
|
|
/* 0209F0F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209F0F8 */ cpu->r[7] = cpu->r[7] + 0x00002198u;
|
|
/* 0209F0FC */ cpu->r[5] = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209F100 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F104 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0209F108 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 0209F108 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 0209F10C */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F10C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0209F10C */ if (_t19) goto L_0209F110; // else: addr-0 trap, fall-through
|
|
L_0209F110: ; // 0x209f110
|
|
/* 0209F110 */ Gambit_fn_0209F6E8(cpu);
|
|
/* 0209F114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F118 */ cpu->r[26] = 0x10110000u;
|
|
/* 0209F11C */ cpu->r[29] = cpu->r[3];
|
|
/* 0209F120 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F120 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209F120 */ if (_t21) goto L_0209F158; else goto L_0209F124;
|
|
L_0209F124: ; // 0x209f124
|
|
/* 0209F124 */ _t22 = cpu->r[27] + 0x00000004u;
|
|
/* 0209F124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209F128 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209F12C */ cpu->ctr = cpu->r[0];
|
|
/* 0209F130 */ _t24 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209F130 */ cpu->r[31] = rbrew_read16(cpu->mem, _t24);
|
|
/* 0209F134 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209F138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F13C */ _t25 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F13C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0209F140 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F140 */ cpu->r[5] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209F144 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209F148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209F14C */ cpu->r[5] = 0x00080000u;
|
|
/* 0209F150 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F150 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0209F150 */ if (_t28) goto L_0209F154; else goto L_0209F548;
|
|
L_0209F154: ; // 0x209f154
|
|
/* 0209F154 */ goto L_0209F56C;
|
|
L_0209F158: ; // 0x209f158
|
|
/* 0209F158 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0209F15C */ _t29 = cpu->r[11] + 0xFFFFD8F0u;
|
|
/* 0209F15C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0209F160 */ _t30 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0209F164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209F168 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0209F16C */ cpu->r[21] = cpu->r[10] + 0x00000001u;
|
|
/* 0209F170 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F170 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0209F170 */ if (_t32) goto L_0209F174; else goto L_0209F194;
|
|
L_0209F174: ; // 0x209f174
|
|
/* 0209F174 */ cpu->r[11] = 0x00000001u;
|
|
/* 0209F178 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0209F17C */ cpu->r[3] = cpu->r[30] + 0x00002FECu;
|
|
/* 0209F180 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0209F184 */ cpu->r[4] = cpu->r[4] + 0x00003488u;
|
|
/* 0209F188 */ cpu->r[5] = 0x00000026u;
|
|
/* 0209F18C */ _t33 = cpu->r[12] + 0xFFFFD8F0u;
|
|
/* 0209F18C */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 0209F190 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0209F194: ; // 0x209f194
|
|
/* 0209F194 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0209F198 */ _t34 = cpu->r[7] + 0xFFFFD8ECu;
|
|
/* 0209F198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209F198 */ cpu->r[7] = _t34;
|
|
/* 0209F19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F1A0 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0209F1A4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F1A4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0209F1A4 */ if (_t36) goto L_0209F1A8; else goto L_0209F1B8;
|
|
L_0209F1A8: ; // 0x209f1a8
|
|
/* 0209F1A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0209F1AC */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F1B0 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209F1B0 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]);
|
|
/* 0209F1B4 */ _t38 = cpu->r[28] + 0xFFFFE350u;
|
|
/* 0209F1B4 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
L_0209F1B8: ; // 0x209f1b8
|
|
/* 0209F1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], 0x00000004u);
|
|
/* 0209F1BC */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F1BC */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209F1BC */ if (_t40) goto L_0209F2C8; else goto L_0209F1C0;
|
|
L_0209F1C0: ; // 0x209f1c0
|
|
/* 0209F1C0 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F1C0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
|
|
/* 0209F1C4 */ cpu->r[9] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F1C8 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0209F1C8 */ rbrew_write32(cpu->mem, _t42, cpu->r[23]);
|
|
/* 0209F1CC */ cpu->r[10] = 0x00000020u;
|
|
/* 0209F1D0 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F1D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
/* 0209F1D4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0209F1D8 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 0209F1D8 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 0209F1DC */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 0209F1DC */ rbrew_write32(cpu->mem, _t45, cpu->r[25]);
|
|
/* 0209F1E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0209F1E4 */ _t46 = cpu->r[1] + 0x0000004Bu;
|
|
/* 0209F1E4 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
/* 0209F1E8 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F1E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0209F1EC */ Gambit_fn_0209F640(cpu);
|
|
/* 0209F1F0 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209F1F4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F1F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0209F1F8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0209F1FC */ cpu->r[4] = cpu->r[4] + 0x00002054u;
|
|
/* 0209F200 */ _t49 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F200 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209F200 */ if (_t50) goto L_0209F204; // else: addr-0 trap, fall-through
|
|
L_0209F204: ; // 0x209f204
|
|
/* 0209F204 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209F208 */ cpu->r[8] = 0x00000080u;
|
|
/* 0209F20C */ _t51 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209F20C */ cpu->r[31] = rbrew_read16(cpu->mem, _t51);
|
|
/* 0209F210 */ cpu->r[0] = cpu->r[1] + 0x00000084u;
|
|
/* 0209F214 */ cpu->r[28] = 0x10010000u;
|
|
/* 0209F218 */ _t52 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F218 */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
/* 0209F21C */ cpu->r[28] = cpu->r[28] + 0x00002070u;
|
|
/* 0209F220 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F220 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0209F224 */ _t54 = cpu->r[1] + 0x00000182u;
|
|
/* 0209F224 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[31]);
|
|
/* 0209F228 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F22C */ _t55 = cpu->r[1] + 0x00000084u;
|
|
/* 0209F22C */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[31]);
|
|
/* 0209F230 */ cpu->r[0] = cpu->r[0] + 0x00002130u;
|
|
/* 0209F234 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 0209F238 */ _t56 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0209F238 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 0209F23C */ Gambit_fn_0209F678(cpu);
|
|
/* 0209F240 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 0209F240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0209F244 */ _t58 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0209F248 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F24C */ _t59 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F24C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0209F250 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0209F254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F258 */ _t60 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F258 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0209F25C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0209F260 */ _t61 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F260 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0209F264 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209F268 */ Gambit_fn_0282C89C(cpu);
|
|
/* 0209F26C */ _t62 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0209F26C */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209F270 */ _t63 = cpu->r[7] + 0x00000014u;
|
|
/* 0209F270 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209F274 */ cpu->r[30] = cpu->r[3];
|
|
/* 0209F278 */ cpu->ctr = cpu->r[8];
|
|
/* 0209F27C */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 0209F280 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F284 */ _t64 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209F288 */ _t65 = cpu->r[27] + 0x00000004u;
|
|
/* 0209F288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0209F28C */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F28C */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 0209F290 */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F290 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0209F294 */ _t68 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0209F298 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F298 */ cpu->r[24] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0209F29C */ cpu->ctr = cpu->r[0];
|
|
/* 0209F2A0 */ _t70 = cpu->r[27] + 0x000001C0u;
|
|
/* 0209F2A0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0209F2A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209F2A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F2AC */ _t71 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F2AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0209F2B0 */ _t72 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F2B0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t72);
|
|
/* 0209F2B4 */ cpu->r[28] = 0x00000000u;
|
|
/* 0209F2B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209F2BC */ cpu->r[6] = 0x00080000u;
|
|
/* 0209F2C0 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F2C0 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0209F2C0 */ if (_t74) goto L_0209F2C4; else goto L_0209F41C;
|
|
L_0209F2C4: ; // 0x209f2c4
|
|
/* 0209F2C4 */ goto L_0209F440;
|
|
L_0209F2C8: ; // 0x209f2c8
|
|
/* 0209F2C8 */ _t75 = cpu->r[28] + 0xFFFFE350u;
|
|
/* 0209F2C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0209F2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F2D0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F2D0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209F2D0 */ if (_t77) goto L_0209F2D4; else goto L_0209F314;
|
|
L_0209F2D4: ; // 0x209f2d4
|
|
/* 0209F2D4 */ Gambit_fn_0282A450(cpu);
|
|
/* 0209F2D8 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209F2DC */ Gambit_fn_02836FFC(cpu);
|
|
/* 0209F2E0 */ _t78 = cpu->r[28] + 0xFFFFE350u;
|
|
/* 0209F2E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0209F2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0209F2E8 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F2E8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209F2E8 */ if (_t80) goto L_0209F2EC; else goto L_0209F308;
|
|
L_0209F2EC: ; // 0x209f2ec
|
|
/* 0209F2EC */ cpu->r[24] = 0x101D0000u;
|
|
/* 0209F2F0 */ cpu->r[4] = cpu->r[30] + 0x00002FECu;
|
|
/* 0209F2F4 */ cpu->r[24] = cpu->r[24] + 0xFFFFE340u;
|
|
/* 0209F2F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0209F2FC */ cpu->r[3] = cpu->r[24];
|
|
/* 0209F300 */ Gambit_fn_0282A374(cpu);
|
|
/* 0209F304 */ _t81 = cpu->r[28] + 0xFFFFE350u;
|
|
/* 0209F304 */ rbrew_write32(cpu->mem, _t81, cpu->r[24]);
|
|
L_0209F308: ; // 0x209f308
|
|
/* 0209F308 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209F30C */ Gambit_fn_02837030(cpu);
|
|
/* 0209F310 */ _t82 = cpu->r[28] + 0xFFFFE350u;
|
|
/* 0209F310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
L_0209F314: ; // 0x209f314
|
|
/* 0209F314 */ cpu->r[8] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0209F318 */ cpu->r[10] = 0x00000020u;
|
|
/* 0209F31C */ _t83 = cpu->r[8] + cpu->r[0];
|
|
/* 0209F31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0209F320 */ cpu->r[9] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F324 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 0209F324 */ rbrew_write32(cpu->mem, _t84, cpu->r[23]);
|
|
/* 0209F328 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0209F32C */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 0209F32C */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 0209F330 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F330 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 0209F334 */ _t87 = cpu->r[1] + 0x0000004Bu;
|
|
/* 0209F334 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[31]);
|
|
/* 0209F338 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 0209F338 */ rbrew_write32(cpu->mem, _t88, cpu->r[25]);
|
|
/* 0209F33C */ _t89 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F33C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
|
|
/* 0209F340 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F340 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0209F344 */ Gambit_fn_0209F640(cpu);
|
|
/* 0209F348 */ cpu->r[4] = 0x10010000u;
|
|
/* 0209F34C */ _t91 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F34C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0209F350 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0209F354 */ cpu->r[4] = cpu->r[4] + 0x00002054u;
|
|
/* 0209F358 */ _t92 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F358 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0209F358 */ if (_t93) goto L_0209F35C; // else: addr-0 trap, fall-through
|
|
L_0209F35C: ; // 0x209f35c
|
|
/* 0209F35C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209F360 */ cpu->r[8] = 0x00000080u;
|
|
/* 0209F364 */ _t94 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209F364 */ cpu->r[31] = rbrew_read16(cpu->mem, _t94);
|
|
/* 0209F368 */ cpu->r[0] = cpu->r[1] + 0x00000084u;
|
|
/* 0209F36C */ _t95 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F36C */ rbrew_write32(cpu->mem, _t95, cpu->r[8]);
|
|
/* 0209F370 */ cpu->r[28] = 0x10010000u;
|
|
/* 0209F374 */ _t96 = cpu->r[1] + 0x00000182u;
|
|
/* 0209F374 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[31]);
|
|
/* 0209F378 */ cpu->r[28] = cpu->r[28] + 0x00002070u;
|
|
/* 0209F37C */ _t97 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F37C */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 0209F380 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F384 */ _t98 = cpu->r[1] + 0x00000084u;
|
|
/* 0209F384 */ rbrew_write16(cpu->mem, _t98, (uint16_t)cpu->r[31]);
|
|
/* 0209F388 */ cpu->r[0] = cpu->r[0] + 0x00002130u;
|
|
/* 0209F38C */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 0209F390 */ _t99 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0209F390 */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 0209F394 */ Gambit_fn_0209F678(cpu);
|
|
/* 0209F398 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 0209F398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0209F39C */ _t101 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0209F3A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F3A4 */ _t102 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F3A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209F3A8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0209F3AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F3B0 */ _t103 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F3B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0209F3B4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0209F3B8 */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F3B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209F3BC */ cpu->r[3] = cpu->r[30];
|
|
/* 0209F3C0 */ Gambit_fn_0282C89C(cpu);
|
|
/* 0209F3C4 */ _t105 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0209F3C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0209F3C8 */ _t106 = cpu->r[7] + 0x00000014u;
|
|
/* 0209F3C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0209F3CC */ cpu->r[30] = cpu->r[3];
|
|
/* 0209F3D0 */ cpu->ctr = cpu->r[8];
|
|
/* 0209F3D4 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 0209F3D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F3DC */ _t107 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0209F3E0 */ _t108 = cpu->r[27] + 0x00000004u;
|
|
/* 0209F3E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209F3E4 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F3E4 */ rbrew_write32(cpu->mem, _t109, cpu->r[28]);
|
|
/* 0209F3E8 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F3E8 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 0209F3EC */ _t111 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209F3F0 */ _t112 = cpu->r[27] + 0x000001C0u;
|
|
/* 0209F3F0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0209F3F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F3F8 */ _t113 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F3F8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0209F3FC */ cpu->r[3] = cpu->r[27];
|
|
/* 0209F400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F404 */ _t114 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0209F408 */ _t115 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F408 */ cpu->r[5] = rbrew_read16(cpu->mem, _t115);
|
|
/* 0209F40C */ cpu->r[28] = 0x00000000u;
|
|
/* 0209F410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209F414 */ cpu->r[6] = 0x00080000u;
|
|
/* 0209F418 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F418 */ _t117 = _t116 & 0x00000001u;
|
|
/* 0209F418 */ if (_t117) goto L_0209F440; else goto L_0209F41C;
|
|
L_0209F41C: ; // 0x209f41c
|
|
/* 0209F41C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0209F420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 0209F424 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 0209F428 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F428 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0209F428 */ if (_t119) goto L_0209F43C; else goto L_0209F42C;
|
|
L_0209F42C: ; // 0x209f42c
|
|
/* 0209F42C */ _t120 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F42C */ cpu->r[0] = rbrew_read16(cpu->mem, _t120);
|
|
/* 0209F430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F434 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F434 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0209F434 */ if (_t122) goto L_0209F438; else goto L_0209F41C;
|
|
L_0209F438: ; // 0x209f438
|
|
/* 0209F438 */ goto L_0209F440;
|
|
L_0209F43C: ; // 0x209f43c
|
|
/* 0209F43C */ cpu->r[28] = 0x00000000u;
|
|
L_0209F440: ; // 0x209f440
|
|
/* 0209F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209F444 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F444 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0209F444 */ if (_t124) goto L_0209F448; else goto L_0209F458;
|
|
L_0209F448: ; // 0x209f448
|
|
/* 0209F448 */ cpu->r[7] = cpu->r[28] + cpu->r[25];
|
|
/* 0209F44C */ cpu->r[25] = cpu->r[7] + 0x00000001u;
|
|
/* 0209F44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0209F450 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F450 */ _t126 = _t125 & 0x00000001u;
|
|
/* 0209F450 */ if (_t126) goto L_0209F454; else goto L_0209F458;
|
|
L_0209F454: ; // 0x209f454
|
|
/* 0209F454 */ cpu->r[25] = 0x00000000u;
|
|
L_0209F458: ; // 0x209f458
|
|
/* 0209F458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209F45C */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F45C */ _t128 = _t127 & 0x00000001u;
|
|
/* 0209F45C */ if (_t128) goto L_0209F460; else goto L_0209F4B0;
|
|
L_0209F460: ; // 0x209f460
|
|
/* 0209F460 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0209F464 */ _t130 = cpu->r[8] + 0x00000014u;
|
|
/* 0209F464 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0209F468 */ cpu->ctr = cpu->r[9];
|
|
/* 0209F46C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F470 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F474 */ _t131 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0209F478 */ _t132 = cpu->r[7] + 0x00000000u;
|
|
/* 0209F478 */ cpu->r[0] = rbrew_read16(cpu->mem, _t132);
|
|
/* 0209F47C */ cpu->r[30] = 0x00000000u;
|
|
/* 0209F480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F484 */ cpu->r[10] = 0x00080000u;
|
|
/* 0209F488 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F488 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0209F488 */ if (_t134) goto L_0209F4B0; else goto L_0209F48C;
|
|
L_0209F48C: ; // 0x209f48c
|
|
/* 0209F48C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209F490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0209F494 */ cpu->r[7] = cpu->r[7] + 0x00000002u;
|
|
/* 0209F498 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F498 */ _t136 = _t135 & 0x00000001u;
|
|
/* 0209F498 */ if (_t136) goto L_0209F4AC; else goto L_0209F49C;
|
|
L_0209F49C: ; // 0x209f49c
|
|
/* 0209F49C */ _t137 = cpu->r[7] + 0x00000000u;
|
|
/* 0209F49C */ cpu->r[0] = rbrew_read16(cpu->mem, _t137);
|
|
/* 0209F4A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F4A4 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F4A4 */ _t139 = _t138 & 0x00000001u;
|
|
/* 0209F4A4 */ if (_t139) goto L_0209F4A8; else goto L_0209F48C;
|
|
L_0209F4A8: ; // 0x209f4a8
|
|
/* 0209F4A8 */ goto L_0209F4B0;
|
|
L_0209F4AC: ; // 0x209f4ac
|
|
/* 0209F4AC */ cpu->r[30] = 0x00000000u;
|
|
L_0209F4B0: ; // 0x209f4b0
|
|
/* 0209F4B0 */ _t140 = cpu->r[27] + 0x00000008u;
|
|
/* 0209F4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0209F4B4 */ cpu->r[11] = cpu->r[0] - cpu->r[25];
|
|
/* 0209F4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0209F4BC */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F4BC */ _t142 = _t141 & 0x00000001u;
|
|
/* 0209F4BC */ if (_t142) goto L_0209F4C4; else goto L_0209F4C0;
|
|
L_0209F4C0: ; // 0x209f4c0
|
|
/* 0209F4C0 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0209F4C4: ; // 0x209f4c4
|
|
/* 0209F4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0209F4C8 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F4C8 */ _t144 = _t143 & 0x00000001u;
|
|
/* 0209F4C8 */ if (_t144) goto L_0209F4CC; else goto L_0209F51C;
|
|
L_0209F4CC: ; // 0x209f4cc
|
|
/* 0209F4CC */ _t145 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F4CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0209F4D0 */ _t146 = cpu->r[8] + 0x00000014u;
|
|
/* 0209F4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0209F4D4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F4D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F4DC */ cpu->r[26] = cpu->r[24] + cpu->r[6];
|
|
/* 0209F4E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F4E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F4E8 */ _t147 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F4E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0209F4EC */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F4F0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F4F4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0209F4F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209F4FC */ cpu->r[10] = cpu->r[25] + cpu->r[30];
|
|
/* 0209F500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[28]);
|
|
/* 0209F504 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F504 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0209F504 */ if (_t149) goto L_0209F508; else goto L_0209F510;
|
|
L_0209F508: ; // 0x209f508
|
|
/* 0209F508 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F50C */ _t150 = cpu->r[10] + cpu->r[24];
|
|
/* 0209F50C */ rbrew_write16(cpu->mem, _t150, (uint16_t)cpu->r[31]);
|
|
L_0209F510: ; // 0x209f510
|
|
/* 0209F510 */ _t151 = cpu->r[27] + 0x000001C0u;
|
|
/* 0209F510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0209F514 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
/* 0209F518 */ _t152 = cpu->r[27] + 0x000001C0u;
|
|
/* 0209F518 */ rbrew_write32(cpu->mem, _t152, cpu->r[11]);
|
|
L_0209F51C: ; // 0x209f51c
|
|
/* 0209F51C */ _t153 = cpu->r[27] + 0x00000004u;
|
|
/* 0209F51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0209F520 */ _t154 = cpu->r[12] + 0x00000014u;
|
|
/* 0209F520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0209F524 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F528 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209F52C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F530 */ _t155 = cpu->r[27] + 0x00000000u;
|
|
/* 0209F530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0209F534 */ _t156 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F534 */ cpu->r[5] = rbrew_read16(cpu->mem, _t156);
|
|
/* 0209F538 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209F53C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0209F540 */ cpu->r[5] = 0x00080000u;
|
|
/* 0209F544 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F544 */ _t158 = _t157 & 0x00000001u;
|
|
/* 0209F544 */ if (_t158) goto L_0209F56C; else goto L_0209F548;
|
|
L_0209F548: ; // 0x209f548
|
|
/* 0209F548 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0209F54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 0209F550 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 0209F554 */ _t159 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F554 */ _t160 = _t159 & 0x00000001u;
|
|
/* 0209F554 */ if (_t160) goto L_0209F568; else goto L_0209F558;
|
|
L_0209F558: ; // 0x209f558
|
|
/* 0209F558 */ _t161 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F558 */ cpu->r[0] = rbrew_read16(cpu->mem, _t161);
|
|
/* 0209F55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F560 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F560 */ _t163 = _t162 & 0x00000001u;
|
|
/* 0209F560 */ if (_t163) goto L_0209F564; else goto L_0209F548;
|
|
L_0209F564: ; // 0x209f564
|
|
/* 0209F564 */ goto L_0209F56C;
|
|
L_0209F568: ; // 0x209f568
|
|
/* 0209F568 */ cpu->r[12] = 0x00000000u;
|
|
L_0209F56C: ; // 0x209f56c
|
|
/* 0209F56C */ _t164 = cpu->r[27] + 0x000001C0u;
|
|
/* 0209F56C */ rbrew_write32(cpu->mem, _t164, cpu->r[12]);
|
|
/* 0209F570 */ cpu->r[3] = cpu->r[29];
|
|
/* 0209F574 */ /* nop */
|
|
/* 0209F578 */ _t165 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 0209F57C */ cpu->lr = cpu->r[0];
|
|
/* 0209F580 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 0209F584 */ return;
|
|
}
|
|
|
|
// fn_0209F588 @ 0x209f588
|
|
void Gambit_fn_0209F588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0209F588: ; // 0x209f588
|
|
/* 0209F588 */ cpu->r[0] = cpu->lr;
|
|
/* 0209F58C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0209F58C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0209F590 */ cpu->r[12] = cpu->r[4];
|
|
/* 0209F594 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209F594 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0209F594 */ cpu->r[1] = _t1;
|
|
/* 0209F598 */ _t2 = cpu->r[12] + 0x000000B4u;
|
|
/* 0209F598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209F59C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5A0 */ _t3 = cpu->r[12] + 0x000000BCu;
|
|
/* 0209F5A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209F5A4 */ _t4 = cpu->r[12] + 0x00000034u;
|
|
/* 0209F5A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209F5A8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0209F5AC */ Gambit_fn_0209F054(cpu);
|
|
/* 0209F5B0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209F5B4 */ cpu->lr = cpu->r[0];
|
|
/* 0209F5B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209F5BC */ return;
|
|
}
|
|
|
|
// fn_0209F594 @ 0x209f594
|
|
void Gambit_fn_0209F594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0209F594: ; // 0x209f594
|
|
/* 0209F594 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209F594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F594 */ cpu->r[1] = _t0;
|
|
/* 0209F598 */ _t1 = cpu->r[12] + 0x000000B4u;
|
|
/* 0209F598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209F59C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5A0 */ _t2 = cpu->r[12] + 0x000000BCu;
|
|
/* 0209F5A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209F5A4 */ _t3 = cpu->r[12] + 0x00000034u;
|
|
/* 0209F5A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209F5A8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0209F5AC */ Gambit_fn_0209F054(cpu);
|
|
/* 0209F5B0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209F5B4 */ cpu->lr = cpu->r[0];
|
|
/* 0209F5B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209F5BC */ return;
|
|
}
|
|
|
|
// fn_0209F5C0 @ 0x209f5c0
|
|
void Gambit_fn_0209F5C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209F5C0: ; // 0x209f5c0
|
|
/* 0209F5C0 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0209F5C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209F5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F5C4 */ cpu->r[1] = _t0;
|
|
/* 0209F5C8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209F5CC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209F5D0 */ _t1 = cpu->r[10] + 0xFFFFDA48u;
|
|
/* 0209F5D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209F5D0 */ cpu->r[10] = _t1;
|
|
/* 0209F5D4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209F5D8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209F5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209F5DC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209F5E0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209F5E4 */ _t3 = cpu->r[7] + 0xFFFFDA58u;
|
|
/* 0209F5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209F5E4 */ cpu->r[7] = _t3;
|
|
/* 0209F5E8 */ _t4 = cpu->r[8] + 0xFFFFDA50u;
|
|
/* 0209F5E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209F5E8 */ cpu->r[8] = _t4;
|
|
/* 0209F5EC */ cpu->r[0] = 0x00000002u;
|
|
/* 0209F5F0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209F5F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209F5F4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209F5F8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209F5FC */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209F600 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209F600 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209F604 */ _t8 = cpu->r[8] + 0xFFFFDA68u;
|
|
/* 0209F604 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209F604 */ cpu->r[8] = _t8;
|
|
/* 0209F608 */ _t9 = cpu->r[12] + 0xFFFFDA60u;
|
|
/* 0209F608 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209F608 */ cpu->r[12] = _t9;
|
|
/* 0209F60C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209F60C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209F610 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209F614 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209F614 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209F618 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209F61C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F61C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209F620 */ _t13 = cpu->r[11] + 0xFFFFDA70u;
|
|
/* 0209F620 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209F624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209F628 */ return;
|
|
}
|
|
|
|
// fn_0209F5C4 @ 0x209f5c4
|
|
void Gambit_fn_0209F5C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0209F5C4: ; // 0x209f5c4
|
|
/* 0209F5C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0209F5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F5C4 */ cpu->r[1] = _t0;
|
|
/* 0209F5C8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0209F5CC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0209F5D0 */ _t1 = cpu->r[10] + 0xFFFFDA48u;
|
|
/* 0209F5D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0209F5D0 */ cpu->r[10] = _t1;
|
|
/* 0209F5D4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0209F5D8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0209F5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0209F5DC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0209F5E0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209F5E4 */ _t3 = cpu->r[7] + 0xFFFFDA58u;
|
|
/* 0209F5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0209F5E4 */ cpu->r[7] = _t3;
|
|
/* 0209F5E8 */ _t4 = cpu->r[8] + 0xFFFFDA50u;
|
|
/* 0209F5E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0209F5E8 */ cpu->r[8] = _t4;
|
|
/* 0209F5EC */ cpu->r[0] = 0x00000002u;
|
|
/* 0209F5F0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0209F5F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0209F5F4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0209F5F8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F5F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209F5FC */ cpu->r[12] = 0x101E0000u;
|
|
/* 0209F600 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0209F600 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0209F604 */ _t8 = cpu->r[8] + 0xFFFFDA68u;
|
|
/* 0209F604 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0209F604 */ cpu->r[8] = _t8;
|
|
/* 0209F608 */ _t9 = cpu->r[12] + 0xFFFFDA60u;
|
|
/* 0209F608 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0209F608 */ cpu->r[12] = _t9;
|
|
/* 0209F60C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0209F60C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0209F610 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209F614 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0209F614 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0209F618 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0209F61C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F61C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0209F620 */ _t13 = cpu->r[11] + 0xFFFFDA70u;
|
|
/* 0209F620 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0209F624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0209F628 */ return;
|
|
}
|
|
|
|
// fn_0209F62C @ 0x209f62c
|
|
void Gambit_fn_0209F62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F62C: ; // 0x209f62c
|
|
/* 0209F62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F630 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F630 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F630 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F630 */ goto L_0209F634;
|
|
L_0209F634: ; // 0x209f634
|
|
/* 0209F634 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F638 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F638 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F638 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F638 */ goto L_0209F63C;
|
|
L_0209F63C: ; // 0x209f63c
|
|
/* 0209F63C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F640 @ 0x209f640
|
|
void Gambit_fn_0209F640(CPUState* cpu) {
|
|
L_0209F640: ; // 0x209f640
|
|
/* 0209F640 */ return;
|
|
}
|
|
|
|
// fn_0209F644 @ 0x209f644
|
|
void Gambit_fn_0209F644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F644: ; // 0x209f644
|
|
/* 0209F644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F648 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F648 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F648 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F648 */ goto L_0209F64C;
|
|
L_0209F64C: ; // 0x209f64c
|
|
/* 0209F64C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F650 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F650 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F650 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F650 */ goto L_0209F654;
|
|
L_0209F654: ; // 0x209f654
|
|
/* 0209F654 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F658 @ 0x209f658
|
|
void Gambit_fn_0209F658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209F658: ; // 0x209f658
|
|
/* 0209F658 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0209F658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209F65C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0209F65C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209F660 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0209F664 */ cpu->r[11] = 0x10110000u;
|
|
/* 0209F668 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0209F668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0209F66C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0209F66C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0209F670 */ return;
|
|
}
|
|
|
|
// fn_0209F674 @ 0x209f674
|
|
void Gambit_fn_0209F674(CPUState* cpu) {
|
|
L_0209F674: ; // 0x209f674
|
|
/* 0209F674 */ return;
|
|
}
|
|
|
|
// fn_0209F678 @ 0x209f678
|
|
void Gambit_fn_0209F678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0209F678: ; // 0x209f678
|
|
/* 0209F678 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0209F678 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209F67C */ cpu->r[9] = 0x10110000u;
|
|
/* 0209F680 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0209F680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0209F684 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F688 */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 0209F688 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0209F68C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 0209F690 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 0209F690 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 0209F694 */ return;
|
|
}
|
|
|
|
// fn_0209F698 @ 0x209f698
|
|
void Gambit_fn_0209F698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F698: ; // 0x209f698
|
|
/* 0209F698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F69C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F69C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F69C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F69C */ goto L_0209F6A0;
|
|
L_0209F6A0: ; // 0x209f6a0
|
|
/* 0209F6A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F6A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F6A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6A4 */ goto L_0209F6A8;
|
|
L_0209F6A8: ; // 0x209f6a8
|
|
/* 0209F6A8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F6AC @ 0x209f6ac
|
|
void Gambit_fn_0209F6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F6AC: ; // 0x209f6ac
|
|
/* 0209F6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F6B0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F6B0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6B0 */ goto L_0209F6B4;
|
|
L_0209F6B4: ; // 0x209f6b4
|
|
/* 0209F6B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F6B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F6B8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6B8 */ goto L_0209F6BC;
|
|
L_0209F6BC: ; // 0x209f6bc
|
|
/* 0209F6BC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F6C0 @ 0x209f6c0
|
|
void Gambit_fn_0209F6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F6C0: ; // 0x209f6c0
|
|
/* 0209F6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F6C4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6C4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F6C4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6C4 */ goto L_0209F6C8;
|
|
L_0209F6C8: ; // 0x209f6c8
|
|
/* 0209F6C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F6CC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F6CC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6CC */ goto L_0209F6D0;
|
|
L_0209F6D0: ; // 0x209f6d0
|
|
/* 0209F6D0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F6D4 @ 0x209f6d4
|
|
void Gambit_fn_0209F6D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0209F6D4: ; // 0x209f6d4
|
|
/* 0209F6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209F6D8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6D8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0209F6D8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6D8 */ goto L_0209F6DC;
|
|
L_0209F6DC: ; // 0x209f6dc
|
|
/* 0209F6DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0209F6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209F6E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F6E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F6E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0209F6E0 */ goto L_0209F6E4;
|
|
L_0209F6E4: ; // 0x209f6e4
|
|
/* 0209F6E4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0209F6E8 @ 0x209f6e8
|
|
void Gambit_fn_0209F6E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0209F6E8: ; // 0x209f6e8
|
|
/* 0209F6E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0209F6EC */ _t0 = cpu->r[1] + 0xFFFFFE50u;
|
|
/* 0209F6EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F6EC */ cpu->r[1] = _t0;
|
|
/* 0209F6F0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F6F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0209F6F4 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0209F6F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0209F6F8 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F6F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0209F6FC */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0209F6FC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0209F700 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0209F700 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 0209F704 */ _t6 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F704 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209F708 */ /* nop */
|
|
/* 0209F70C */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 0209F70C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209F710 */ _t8 = cpu->r[1] + 0x00000044u;
|
|
/* 0209F710 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209F714 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0209F714 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0209F718 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F718 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209F718 */ if (_t11) goto L_0209F71C; else goto L_0209F73C;
|
|
L_0209F71C: ; // 0x209f71c
|
|
/* 0209F71C */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 0209F71C */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 0209F720 */ _t13 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F720 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 0209F724 */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 0209F724 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 0209F728 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 0209F728 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 0209F72C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0209F72C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 0209F730 */ _t17 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F730 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 0209F734 */ _t18 = cpu->r[1] + 0x00000068u;
|
|
/* 0209F734 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 0209F738 */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0209F738 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_0209F73C: ; // 0x209f73c
|
|
/* 0209F73C */ cpu->r[10] = cpu->r[1] + 0x000001B8u;
|
|
/* 0209F740 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209F744 */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 0209F748 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0209F748 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0209F74C */ cpu->r[30] = cpu->r[6];
|
|
/* 0209F750 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209F754 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F754 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 0209F758 */ cpu->r[28] = cpu->r[3];
|
|
/* 0209F75C */ cpu->r[5] = cpu->r[4];
|
|
/* 0209F760 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0209F760 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0209F764 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209F768 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209F76C */ cpu->r[3] = cpu->r[28] + 0x0000010Cu;
|
|
/* 0209F770 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 0209F770 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 0209F774 */ Gambit_fn_027FD390(cpu);
|
|
/* 0209F778 */ _t24 = cpu->r[28] + 0x0000010Cu;
|
|
/* 0209F778 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0209F77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209F780 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F780 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0209F780 */ if (_t26) goto L_0209F784; else goto L_0209F78C;
|
|
L_0209F784: ; // 0x209f784
|
|
/* 0209F784 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209F788 */ goto L_0209F954;
|
|
L_0209F78C: ; // 0x209f78c
|
|
/* 0209F78C */ Gambit_fn_027BDBAC(cpu);
|
|
/* 0209F790 */ cpu->r[31] = 0x10110000u;
|
|
/* 0209F794 */ cpu->r[0] = cpu->r[1] + 0x00000094u;
|
|
/* 0209F798 */ _t27 = cpu->r[31] + 0x0000739Au;
|
|
/* 0209F798 */ cpu->r[31] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0209F79C */ _t28 = cpu->r[28] + 0x00000114u;
|
|
/* 0209F79C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209F7A0 */ _t29 = cpu->r[1] + 0x00000192u;
|
|
/* 0209F7A0 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[31]);
|
|
/* 0209F7A4 */ cpu->r[5] = 0x00000080u;
|
|
/* 0209F7A8 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 0209F7A8 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[31]);
|
|
/* 0209F7AC */ cpu->r[6] = 0x10010000u;
|
|
/* 0209F7B0 */ _t31 = cpu->r[1] + 0x00000088u;
|
|
/* 0209F7B0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0209F7B4 */ cpu->r[6] = cpu->r[6] + 0x00002130u;
|
|
/* 0209F7B8 */ _t32 = cpu->r[1] + 0x00000090u;
|
|
/* 0209F7B8 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 0209F7BC */ cpu->r[27] = 0x10010000u;
|
|
/* 0209F7C0 */ _t33 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209F7C0 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 0209F7C4 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209F7C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209F7C8 */ cpu->r[27] = cpu->r[27] + 0x00002070u;
|
|
/* 0209F7CC */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F7CC */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 0209F7D0 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F7D0 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0209F7D4 */ _t37 = cpu->r[7] + 0x00000064u;
|
|
/* 0209F7D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209F7D8 */ cpu->ctr = cpu->r[8];
|
|
/* 0209F7DC */ cpu->r[6] = cpu->r[30];
|
|
/* 0209F7E0 */ cpu->r[4] = cpu->r[1] + 0x00000088u;
|
|
/* 0209F7E4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209F7E8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F7EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F7F0 */ _t38 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209F7F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209F7F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209F7F8 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 0209F7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209F7FC */ cpu->ctr = cpu->r[10];
|
|
/* 0209F800 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0209F804 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F808 */ _t40 = cpu->r[1] + 0x00000088u;
|
|
/* 0209F808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209F80C */ _t41 = cpu->r[28] + 0x00000004u;
|
|
/* 0209F80C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0209F810 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F810 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0209F814 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F814 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0209F818 */ _t44 = cpu->r[11] + 0x00000014u;
|
|
/* 0209F818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209F81C */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F81C */ cpu->r[27] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209F820 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F824 */ _t46 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F824 */ cpu->r[26] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209F828 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209F82C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F830 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F830 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0209F834 */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F834 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
|
|
/* 0209F838 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209F83C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F840 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F844 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F844 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209F844 */ if (_t50) goto L_0209F86C; else goto L_0209F848;
|
|
L_0209F848: ; // 0x209f848
|
|
/* 0209F848 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209F84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0209F850 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0209F854 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F854 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0209F854 */ if (_t52) goto L_0209F868; else goto L_0209F858;
|
|
L_0209F858: ; // 0x209f858
|
|
/* 0209F858 */ _t53 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F858 */ cpu->r[6] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0209F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209F860 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F860 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209F860 */ if (_t55) goto L_0209F864; else goto L_0209F848;
|
|
L_0209F864: ; // 0x209f864
|
|
/* 0209F864 */ goto L_0209F86C;
|
|
L_0209F868: ; // 0x209f868
|
|
/* 0209F868 */ cpu->r[30] = 0x00000000u;
|
|
L_0209F86C: ; // 0x209f86c
|
|
/* 0209F86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F870 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F870 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209F870 */ if (_t57) goto L_0209F874; else goto L_0209F884;
|
|
L_0209F874: ; // 0x209f874
|
|
/* 0209F874 */ cpu->r[7] = cpu->r[30] + cpu->r[26];
|
|
/* 0209F878 */ cpu->r[26] = cpu->r[7] + 0x00000001u;
|
|
/* 0209F878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F87C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F87C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209F87C */ if (_t59) goto L_0209F880; else goto L_0209F884;
|
|
L_0209F880: ; // 0x209f880
|
|
/* 0209F880 */ cpu->r[26] = 0x00000000u;
|
|
L_0209F884: ; // 0x209f884
|
|
/* 0209F884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F888 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F888 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209F888 */ if (_t61) goto L_0209F88C; else goto L_0209F8DC;
|
|
L_0209F88C: ; // 0x209f88c
|
|
/* 0209F88C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F88C */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209F890 */ _t63 = cpu->r[8] + 0x00000014u;
|
|
/* 0209F890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209F894 */ cpu->ctr = cpu->r[9];
|
|
/* 0209F898 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F8A0 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209F8A4 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8A4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t65);
|
|
/* 0209F8A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0209F8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F8B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F8B4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8B4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209F8B4 */ if (_t67) goto L_0209F8DC; else goto L_0209F8B8;
|
|
L_0209F8B8: ; // 0x209f8b8
|
|
/* 0209F8B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0209F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0209F8C0 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 0209F8C4 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8C4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209F8C4 */ if (_t69) goto L_0209F8D8; else goto L_0209F8C8;
|
|
L_0209F8C8: ; // 0x209f8c8
|
|
/* 0209F8C8 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8C8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0209F8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209F8D0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8D0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0209F8D0 */ if (_t72) goto L_0209F8D4; else goto L_0209F8B8;
|
|
L_0209F8D4: ; // 0x209f8d4
|
|
/* 0209F8D4 */ goto L_0209F8DC;
|
|
L_0209F8D8: ; // 0x209f8d8
|
|
/* 0209F8D8 */ cpu->r[29] = 0x00000000u;
|
|
L_0209F8DC: ; // 0x209f8dc
|
|
/* 0209F8DC */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 0209F8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209F8E0 */ cpu->r[7] = cpu->r[0] - cpu->r[26];
|
|
/* 0209F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0209F8E8 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F8E8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0209F8E8 */ if (_t75) goto L_0209F8F0; else goto L_0209F8EC;
|
|
L_0209F8EC: ; // 0x209f8ec
|
|
/* 0209F8EC */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209F8F0: ; // 0x209f8f0
|
|
/* 0209F8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F8F4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8F4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209F8F4 */ if (_t77) goto L_0209F900; else goto L_0209F8F8;
|
|
L_0209F8F8: ; // 0x209f8f8
|
|
/* 0209F8F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F8FC */ goto L_0209F954;
|
|
L_0209F900: ; // 0x209f900
|
|
/* 0209F900 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F900 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0209F904 */ _t79 = cpu->r[7] + 0x00000014u;
|
|
/* 0209F904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209F908 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F90C */ cpu->ctr = cpu->r[8];
|
|
/* 0209F910 */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 0209F914 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F91C */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0209F920 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F924 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F928 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209F92C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209F930 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0209F934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0209F938 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F938 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209F938 */ if (_t82) goto L_0209F93C; else goto L_0209F944;
|
|
L_0209F93C: ; // 0x209f93c
|
|
/* 0209F93C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F940 */ _t83 = cpu->r[9] + cpu->r[27];
|
|
/* 0209F940 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[31]);
|
|
L_0209F944: ; // 0x209f944
|
|
/* 0209F944 */ _t84 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F944 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209F948 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
/* 0209F94C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F950 */ _t85 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F950 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
L_0209F954: ; // 0x209f954
|
|
/* 0209F954 */ /* nop */
|
|
/* 0209F958 */ _t86 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0209F95C */ cpu->lr = cpu->r[0];
|
|
/* 0209F960 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 0209F964 */ return;
|
|
}
|
|
|
|
// fn_0209F6EC @ 0x209f6ec
|
|
void Gambit_fn_0209F6EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0209F6EC: ; // 0x209f6ec
|
|
/* 0209F6EC */ _t0 = cpu->r[1] + 0xFFFFFE50u;
|
|
/* 0209F6EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F6EC */ cpu->r[1] = _t0;
|
|
/* 0209F6F0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0209F6F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0209F6F4 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0209F6F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0209F6F8 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F6F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0209F6FC */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 0209F6FC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0209F700 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0209F700 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 0209F704 */ _t6 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F704 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0209F708 */ /* nop */
|
|
/* 0209F70C */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 0209F70C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0209F710 */ _t8 = cpu->r[1] + 0x00000044u;
|
|
/* 0209F710 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0209F714 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0209F714 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0209F718 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209F718 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209F718 */ if (_t11) goto L_0209F71C; else goto L_0209F73C;
|
|
L_0209F71C: ; // 0x209f71c
|
|
/* 0209F71C */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 0209F71C */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 0209F720 */ _t13 = cpu->r[1] + 0x00000078u;
|
|
/* 0209F720 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 0209F724 */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 0209F724 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 0209F728 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 0209F728 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 0209F72C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0209F72C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 0209F730 */ _t17 = cpu->r[1] + 0x00000080u;
|
|
/* 0209F730 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 0209F734 */ _t18 = cpu->r[1] + 0x00000068u;
|
|
/* 0209F734 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 0209F738 */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0209F738 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_0209F73C: ; // 0x209f73c
|
|
/* 0209F73C */ cpu->r[10] = cpu->r[1] + 0x000001B8u;
|
|
/* 0209F740 */ cpu->r[0] = 0x00000004u;
|
|
/* 0209F744 */ cpu->r[11] = cpu->r[1] + 0x00000028u;
|
|
/* 0209F748 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0209F748 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0209F74C */ cpu->r[30] = cpu->r[6];
|
|
/* 0209F750 */ cpu->r[6] = cpu->r[5];
|
|
/* 0209F754 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0209F754 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 0209F758 */ cpu->r[28] = cpu->r[3];
|
|
/* 0209F75C */ cpu->r[5] = cpu->r[4];
|
|
/* 0209F760 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0209F760 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0209F764 */ cpu->r[12] = 0x00000000u;
|
|
/* 0209F768 */ cpu->r[4] = 0x00000001u;
|
|
/* 0209F76C */ cpu->r[3] = cpu->r[28] + 0x0000010Cu;
|
|
/* 0209F770 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 0209F770 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 0209F774 */ Gambit_fn_027FD390(cpu);
|
|
/* 0209F778 */ _t24 = cpu->r[28] + 0x0000010Cu;
|
|
/* 0209F778 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0209F77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0209F780 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F780 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0209F780 */ if (_t26) goto L_0209F784; else goto L_0209F78C;
|
|
L_0209F784: ; // 0x209f784
|
|
/* 0209F784 */ cpu->r[3] = 0x00000000u;
|
|
/* 0209F788 */ goto L_0209F954;
|
|
L_0209F78C: ; // 0x209f78c
|
|
/* 0209F78C */ Gambit_fn_027BDBAC(cpu);
|
|
/* 0209F790 */ cpu->r[31] = 0x10110000u;
|
|
/* 0209F794 */ cpu->r[0] = cpu->r[1] + 0x00000094u;
|
|
/* 0209F798 */ _t27 = cpu->r[31] + 0x0000739Au;
|
|
/* 0209F798 */ cpu->r[31] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0209F79C */ _t28 = cpu->r[28] + 0x00000114u;
|
|
/* 0209F79C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0209F7A0 */ _t29 = cpu->r[1] + 0x00000192u;
|
|
/* 0209F7A0 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[31]);
|
|
/* 0209F7A4 */ cpu->r[5] = 0x00000080u;
|
|
/* 0209F7A8 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 0209F7A8 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[31]);
|
|
/* 0209F7AC */ cpu->r[6] = 0x10010000u;
|
|
/* 0209F7B0 */ _t31 = cpu->r[1] + 0x00000088u;
|
|
/* 0209F7B0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0209F7B4 */ cpu->r[6] = cpu->r[6] + 0x00002130u;
|
|
/* 0209F7B8 */ _t32 = cpu->r[1] + 0x00000090u;
|
|
/* 0209F7B8 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 0209F7BC */ cpu->r[27] = 0x10010000u;
|
|
/* 0209F7C0 */ _t33 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209F7C0 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 0209F7C4 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0209F7C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209F7C8 */ cpu->r[27] = cpu->r[27] + 0x00002070u;
|
|
/* 0209F7CC */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 0209F7CC */ rbrew_write32(cpu->mem, _t35, cpu->r[27]);
|
|
/* 0209F7D0 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F7D0 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 0209F7D4 */ _t37 = cpu->r[7] + 0x00000064u;
|
|
/* 0209F7D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209F7D8 */ cpu->ctr = cpu->r[8];
|
|
/* 0209F7DC */ cpu->r[6] = cpu->r[30];
|
|
/* 0209F7E0 */ cpu->r[4] = cpu->r[1] + 0x00000088u;
|
|
/* 0209F7E4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0209F7E8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209F7EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F7F0 */ _t38 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0209F7F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209F7F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209F7F8 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 0209F7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209F7FC */ cpu->ctr = cpu->r[10];
|
|
/* 0209F800 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0209F804 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F808 */ _t40 = cpu->r[1] + 0x00000088u;
|
|
/* 0209F808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209F80C */ _t41 = cpu->r[28] + 0x00000004u;
|
|
/* 0209F80C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0209F810 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F810 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0209F814 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F814 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0209F818 */ _t44 = cpu->r[11] + 0x00000014u;
|
|
/* 0209F818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0209F81C */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F81C */ cpu->r[27] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209F820 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F824 */ _t46 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F824 */ cpu->r[26] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209F828 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209F82C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F830 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F830 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0209F834 */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F834 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
|
|
/* 0209F838 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209F83C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F840 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F844 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F844 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209F844 */ if (_t50) goto L_0209F86C; else goto L_0209F848;
|
|
L_0209F848: ; // 0x209f848
|
|
/* 0209F848 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209F84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0209F850 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0209F854 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F854 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0209F854 */ if (_t52) goto L_0209F868; else goto L_0209F858;
|
|
L_0209F858: ; // 0x209f858
|
|
/* 0209F858 */ _t53 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F858 */ cpu->r[6] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0209F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209F860 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F860 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209F860 */ if (_t55) goto L_0209F864; else goto L_0209F848;
|
|
L_0209F864: ; // 0x209f864
|
|
/* 0209F864 */ goto L_0209F86C;
|
|
L_0209F868: ; // 0x209f868
|
|
/* 0209F868 */ cpu->r[30] = 0x00000000u;
|
|
L_0209F86C: ; // 0x209f86c
|
|
/* 0209F86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F870 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F870 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209F870 */ if (_t57) goto L_0209F874; else goto L_0209F884;
|
|
L_0209F874: ; // 0x209f874
|
|
/* 0209F874 */ cpu->r[7] = cpu->r[30] + cpu->r[26];
|
|
/* 0209F878 */ cpu->r[26] = cpu->r[7] + 0x00000001u;
|
|
/* 0209F878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F87C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F87C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0209F87C */ if (_t59) goto L_0209F880; else goto L_0209F884;
|
|
L_0209F880: ; // 0x209f880
|
|
/* 0209F880 */ cpu->r[26] = 0x00000000u;
|
|
L_0209F884: ; // 0x209f884
|
|
/* 0209F884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F888 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F888 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209F888 */ if (_t61) goto L_0209F88C; else goto L_0209F8DC;
|
|
L_0209F88C: ; // 0x209f88c
|
|
/* 0209F88C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F88C */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0209F890 */ _t63 = cpu->r[8] + 0x00000014u;
|
|
/* 0209F890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0209F894 */ cpu->ctr = cpu->r[9];
|
|
/* 0209F898 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F8A0 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209F8A4 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8A4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t65);
|
|
/* 0209F8A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0209F8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F8B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F8B4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8B4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0209F8B4 */ if (_t67) goto L_0209F8DC; else goto L_0209F8B8;
|
|
L_0209F8B8: ; // 0x209f8b8
|
|
/* 0209F8B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0209F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0209F8C0 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 0209F8C4 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8C4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0209F8C4 */ if (_t69) goto L_0209F8D8; else goto L_0209F8C8;
|
|
L_0209F8C8: ; // 0x209f8c8
|
|
/* 0209F8C8 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8C8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0209F8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209F8D0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8D0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0209F8D0 */ if (_t72) goto L_0209F8D4; else goto L_0209F8B8;
|
|
L_0209F8D4: ; // 0x209f8d4
|
|
/* 0209F8D4 */ goto L_0209F8DC;
|
|
L_0209F8D8: ; // 0x209f8d8
|
|
/* 0209F8D8 */ cpu->r[29] = 0x00000000u;
|
|
L_0209F8DC: ; // 0x209f8dc
|
|
/* 0209F8DC */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 0209F8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209F8E0 */ cpu->r[7] = cpu->r[0] - cpu->r[26];
|
|
/* 0209F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0209F8E8 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F8E8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0209F8E8 */ if (_t75) goto L_0209F8F0; else goto L_0209F8EC;
|
|
L_0209F8EC: ; // 0x209f8ec
|
|
/* 0209F8EC */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209F8F0: ; // 0x209f8f0
|
|
/* 0209F8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F8F4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8F4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0209F8F4 */ if (_t77) goto L_0209F900; else goto L_0209F8F8;
|
|
L_0209F8F8: ; // 0x209f8f8
|
|
/* 0209F8F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F8FC */ goto L_0209F954;
|
|
L_0209F900: ; // 0x209f900
|
|
/* 0209F900 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F900 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0209F904 */ _t79 = cpu->r[7] + 0x00000014u;
|
|
/* 0209F904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0209F908 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F90C */ cpu->ctr = cpu->r[8];
|
|
/* 0209F910 */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 0209F914 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F91C */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0209F920 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F924 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F928 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209F92C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209F930 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0209F934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0209F938 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F938 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209F938 */ if (_t82) goto L_0209F93C; else goto L_0209F944;
|
|
L_0209F93C: ; // 0x209f93c
|
|
/* 0209F93C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F940 */ _t83 = cpu->r[9] + cpu->r[27];
|
|
/* 0209F940 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[31]);
|
|
L_0209F944: ; // 0x209f944
|
|
/* 0209F944 */ _t84 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F944 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209F948 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
/* 0209F94C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F950 */ _t85 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F950 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
L_0209F954: ; // 0x209f954
|
|
/* 0209F954 */ /* nop */
|
|
/* 0209F958 */ _t86 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0209F95C */ cpu->lr = cpu->r[0];
|
|
/* 0209F960 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 0209F964 */ return;
|
|
}
|
|
|
|
// fn_0209F80C @ 0x209f80c
|
|
void Gambit_fn_0209F80C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_0209F80C: ; // 0x209f80c
|
|
/* 0209F80C */ _t0 = cpu->r[28] + 0x00000004u;
|
|
/* 0209F80C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0209F810 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F810 */ rbrew_write32(cpu->mem, _t1, cpu->r[27]);
|
|
/* 0209F814 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F814 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0209F818 */ _t3 = cpu->r[11] + 0x00000014u;
|
|
/* 0209F818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0209F81C */ _t4 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F81C */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0209F820 */ cpu->ctr = cpu->r[0];
|
|
/* 0209F824 */ _t5 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F824 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0209F828 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209F82C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F830 */ _t6 = cpu->r[28] + 0x00000000u;
|
|
/* 0209F830 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0209F834 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F834 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0209F838 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209F83C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F840 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F844 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F844 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209F844 */ if (_t9) goto L_0209F86C; else goto L_0209F848;
|
|
L_0209F848: ; // 0x209f848
|
|
/* 0209F848 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209F84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0209F850 */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0209F854 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F854 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209F854 */ if (_t11) goto L_0209F868; else goto L_0209F858;
|
|
L_0209F858: ; // 0x209f858
|
|
/* 0209F858 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 0209F858 */ cpu->r[6] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0209F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0209F860 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F860 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0209F860 */ if (_t14) goto L_0209F864; else goto L_0209F848;
|
|
L_0209F864: ; // 0x209f864
|
|
/* 0209F864 */ goto L_0209F86C;
|
|
L_0209F868: ; // 0x209f868
|
|
/* 0209F868 */ cpu->r[30] = 0x00000000u;
|
|
L_0209F86C: ; // 0x209f86c
|
|
/* 0209F86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F870 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F870 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0209F870 */ if (_t16) goto L_0209F874; else goto L_0209F884;
|
|
L_0209F874: ; // 0x209f874
|
|
/* 0209F874 */ cpu->r[7] = cpu->r[30] + cpu->r[26];
|
|
/* 0209F878 */ cpu->r[26] = cpu->r[7] + 0x00000001u;
|
|
/* 0209F878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F87C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F87C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0209F87C */ if (_t18) goto L_0209F880; else goto L_0209F884;
|
|
L_0209F880: ; // 0x209f880
|
|
/* 0209F880 */ cpu->r[26] = 0x00000000u;
|
|
L_0209F884: ; // 0x209f884
|
|
/* 0209F884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F888 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F888 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0209F888 */ if (_t20) goto L_0209F88C; else goto L_0209F8DC;
|
|
L_0209F88C: ; // 0x209f88c
|
|
/* 0209F88C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F88C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209F890 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 0209F890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0209F894 */ cpu->ctr = cpu->r[9];
|
|
/* 0209F898 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F8A0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0209F8A4 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8A4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 0209F8A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0209F8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209F8B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209F8B4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8B4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0209F8B4 */ if (_t26) goto L_0209F8DC; else goto L_0209F8B8;
|
|
L_0209F8B8: ; // 0x209f8b8
|
|
/* 0209F8B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0209F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0209F8C0 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 0209F8C4 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8C4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0209F8C4 */ if (_t28) goto L_0209F8D8; else goto L_0209F8C8;
|
|
L_0209F8C8: ; // 0x209f8c8
|
|
/* 0209F8C8 */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 0209F8C8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t29);
|
|
/* 0209F8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209F8D0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F8D0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0209F8D0 */ if (_t31) goto L_0209F8D4; else goto L_0209F8B8;
|
|
L_0209F8D4: ; // 0x209f8d4
|
|
/* 0209F8D4 */ goto L_0209F8DC;
|
|
L_0209F8D8: ; // 0x209f8d8
|
|
/* 0209F8D8 */ cpu->r[29] = 0x00000000u;
|
|
L_0209F8DC: ; // 0x209f8dc
|
|
/* 0209F8DC */ _t32 = cpu->r[28] + 0x00000008u;
|
|
/* 0209F8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0209F8E0 */ cpu->r[7] = cpu->r[0] - cpu->r[26];
|
|
/* 0209F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0209F8E8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209F8E8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0209F8E8 */ if (_t34) goto L_0209F8F0; else goto L_0209F8EC;
|
|
L_0209F8EC: ; // 0x209f8ec
|
|
/* 0209F8EC */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0209F8F0: ; // 0x209f8f0
|
|
/* 0209F8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F8F4 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F8F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0209F8F4 */ if (_t36) goto L_0209F900; else goto L_0209F8F8;
|
|
L_0209F8F8: ; // 0x209f8f8
|
|
/* 0209F8F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F8FC */ goto L_0209F954;
|
|
L_0209F900: ; // 0x209f900
|
|
/* 0209F900 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209F900 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0209F904 */ _t38 = cpu->r[7] + 0x00000014u;
|
|
/* 0209F904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209F908 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F90C */ cpu->ctr = cpu->r[8];
|
|
/* 0209F910 */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 0209F914 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0209F918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209F91C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0209F91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209F920 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209F924 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F928 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209F92C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209F930 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0209F934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0209F938 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209F938 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0209F938 */ if (_t41) goto L_0209F93C; else goto L_0209F944;
|
|
L_0209F93C: ; // 0x209f93c
|
|
/* 0209F93C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209F940 */ _t42 = cpu->r[9] + cpu->r[27];
|
|
/* 0209F940 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[31]);
|
|
L_0209F944: ; // 0x209f944
|
|
/* 0209F944 */ _t43 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F944 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0209F948 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
/* 0209F94C */ cpu->r[3] = 0x00000001u;
|
|
/* 0209F950 */ _t44 = cpu->r[28] + 0x000001C0u;
|
|
/* 0209F950 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
L_0209F954: ; // 0x209f954
|
|
/* 0209F954 */ /* nop */
|
|
/* 0209F958 */ _t45 = cpu->r[1] + 0x000001B4u;
|
|
/* 0209F958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0209F95C */ cpu->lr = cpu->r[0];
|
|
/* 0209F960 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 0209F964 */ return;
|
|
}
|
|
|
|
// fn_0209F968 @ 0x209f968
|
|
void Gambit_fn_0209F968(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209F968: ; // 0x209f968
|
|
/* 0209F968 */ cpu->r[0] = cpu->lr;
|
|
/* 0209F96C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209F96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F96C */ cpu->r[1] = _t0;
|
|
/* 0209F970 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F970 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209F974 */ /* nop */
|
|
/* 0209F978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209F97C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209F980 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F980 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F980 */ if (_t3) goto L_0209F984; else goto L_0209F994;
|
|
L_0209F984: ; // 0x209f984
|
|
/* 0209F984 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209F988 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F98C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209F990 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F990 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209F990 */ if (_t5) goto L_0209FC24; else goto L_0209F994;
|
|
L_0209F994: ; // 0x209f994
|
|
/* 0209F994 */ cpu->r[29] = cpu->r[31];
|
|
/* 0209F994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F998 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209F99C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F99C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209F99C */ if (_t7) goto L_0209F9A0; else goto L_0209F9CC;
|
|
L_0209F9A0: ; // 0x209f9a0
|
|
/* 0209F9A0 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209F9A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F9A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209F9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F9AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209F9AC */ if (_t9) goto L_0209F9B0; else goto L_0209F9CC;
|
|
L_0209F9B0: ; // 0x209f9b0
|
|
/* 0209F9B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F9B4 */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209F9B4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209F9B8 */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 0209F9BC */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209F9BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209F9C0 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209F9C0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209F9C4 */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F9C4 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209F9C8 */ goto L_0209FC24;
|
|
L_0209F9CC: ; // 0x209f9cc
|
|
/* 0209F9CC */ cpu->r[27] = cpu->r[29];
|
|
/* 0209F9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209F9D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209F9D0 */ if (_t15) goto L_0209F9D4; else goto L_0209FA04;
|
|
L_0209F9D4: ; // 0x209f9d4
|
|
/* 0209F9D4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0209F9D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F9DC */ cpu->r[27] = cpu->r[3];
|
|
/* 0209F9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209F9E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209F9E0 */ if (_t17) goto L_0209F9E4; else goto L_0209FA04;
|
|
L_0209F9E4: ; // 0x209f9e4
|
|
/* 0209F9E4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F9E8 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F9EC */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209F9EC */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209F9F0 */ cpu->r[0] = cpu->r[0] + 0x0000229Cu;
|
|
/* 0209F9F4 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209F9F8 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209F9F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209F9FC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209F9FC */ if (_t21) goto L_0209FA88; else goto L_0209FA00;
|
|
L_0209FA00: ; // 0x209fa00
|
|
/* 0209FA00 */ goto L_0209FA98;
|
|
L_0209FA04: ; // 0x209fa04
|
|
/* 0209FA04 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FA08 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA08 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209FA08 */ if (_t23) goto L_0209FA0C; else goto L_0209FA38;
|
|
L_0209FA0C: ; // 0x209fa0c
|
|
/* 0209FA0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FA10 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FA18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209FA18 */ if (_t25) goto L_0209FA1C; else goto L_0209FA38;
|
|
L_0209FA1C: ; // 0x209fa1c
|
|
/* 0209FA1C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA20 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209FA20 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209FA24 */ cpu->r[0] = cpu->r[0] + 0x0000226Cu;
|
|
/* 0209FA28 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FA28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209FA2C */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FA2C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209FA30 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FA30 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209FA34 */ goto L_0209FA70;
|
|
L_0209FA38: ; // 0x209fa38
|
|
/* 0209FA38 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209FA3C */ cpu->r[5] = 0x00000080u;
|
|
/* 0209FA40 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA44 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FA44 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209FA48 */ cpu->r[0] = cpu->r[0] + 0x00002254u;
|
|
/* 0209FA4C */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FA4C */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209FA50 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FA50 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209FA54 */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209FA54 */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209FA58 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA5C */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FA5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209FA60 */ cpu->r[0] = cpu->r[0] + 0x0000226Cu;
|
|
/* 0209FA64 */ _t35 = cpu->r[27] + 0x0000010Au;
|
|
/* 0209FA64 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209FA68 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FA68 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209FA6C */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FA6C */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209FA70: ; // 0x209fa70
|
|
/* 0209FA70 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA74 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209FA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209FA78 */ cpu->r[0] = cpu->r[0] + 0x0000229Cu;
|
|
/* 0209FA7C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209FA80 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209FA80 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209FA84 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA84 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209FA84 */ if (_t40) goto L_0209FA88; else goto L_0209FA98;
|
|
L_0209FA88: ; // 0x209fa88
|
|
/* 0209FA88 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209FA8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FA90 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209FA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209FA94 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA94 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209FA94 */ if (_t42) goto L_0209FC00; else goto L_0209FA98;
|
|
L_0209FA98: ; // 0x209fa98
|
|
/* 0209FA98 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209FA98 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209FA9C */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209FA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAA0 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209FAA4 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209FAA4 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209FAA8 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209FAAC */ cpu->r[25] = 0x10010000u;
|
|
/* 0209FAB0 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209FAB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209FAB4 */ cpu->r[24] = cpu->r[24] + 0x0000223Cu;
|
|
/* 0209FAB8 */ cpu->r[25] = cpu->r[25] + 0x00002224u;
|
|
/* 0209FABC */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209FABC */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209FAC0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAC0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209FAC0 */ if (_t48) goto L_0209FAC4; else goto L_0209FAE4;
|
|
L_0209FAC4: ; // 0x209fac4
|
|
/* 0209FAC4 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FAC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FACC */ cpu->r[21] = cpu->r[3];
|
|
/* 0209FACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAD0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAD0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209FAD0 */ if (_t50) goto L_0209FAD4; else goto L_0209FAE4;
|
|
L_0209FAD4: ; // 0x209fad4
|
|
/* 0209FAD4 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAD8 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FAD8 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209FADC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FADC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209FADC */ if (_t53) goto L_0209FAE0; else goto L_0209FB80;
|
|
L_0209FAE0: ; // 0x209fae0
|
|
/* 0209FAE0 */ goto L_0209FB70;
|
|
L_0209FAE4: ; // 0x209fae4
|
|
/* 0209FAE4 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209FAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FAE8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAE8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209FAE8 */ if (_t55) goto L_0209FAEC; else goto L_0209FB08;
|
|
L_0209FAEC: ; // 0x209faec
|
|
/* 0209FAEC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FAF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FAF4 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209FAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FAF8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAF8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209FAF8 */ if (_t57) goto L_0209FAFC; else goto L_0209FB08;
|
|
L_0209FAFC: ; // 0x209fafc
|
|
/* 0209FAFC */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FAFC */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209FB00 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FB00 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209FB04 */ goto L_0209FB68;
|
|
L_0209FB08: ; // 0x209fb08
|
|
/* 0209FB08 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209FB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB0C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209FB0C */ if (_t61) goto L_0209FB10; else goto L_0209FB34;
|
|
L_0209FB10: ; // 0x209fb10
|
|
/* 0209FB10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FB14 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB1C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB1C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209FB1C */ if (_t63) goto L_0209FB20; else goto L_0209FB34;
|
|
L_0209FB20: ; // 0x209fb20
|
|
/* 0209FB20 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209FB24 */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FB24 */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209FB28 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FB28 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209FB2C */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FB2C */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209FB30 */ goto L_0209FB64;
|
|
L_0209FB34: ; // 0x209fb34
|
|
/* 0209FB34 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209FB38 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209FB3C */ cpu->r[10] = cpu->r[10] + 0x000021DCu;
|
|
/* 0209FB40 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FB40 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209FB44 */ cpu->r[11] = 0x00000040u;
|
|
/* 0209FB48 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FB48 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209FB4C */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FB4C */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209FB50 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FB50 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209FB54 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FB54 */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209FB58 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FB58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209FB5C */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209FB5C */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209FB60 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FB60 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209FB64: ; // 0x209fb64
|
|
/* 0209FB64 */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FB64 */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209FB68: ; // 0x209fb68
|
|
/* 0209FB68 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FB6C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB6C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209FB6C */ if (_t78) goto L_0209FB70; else goto L_0209FB80;
|
|
L_0209FB70: ; // 0x209fb70
|
|
/* 0209FB70 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FB74 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB78 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209FB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FB7C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB7C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209FB7C */ if (_t80) goto L_0209FBE0; else goto L_0209FB80;
|
|
L_0209FB80: ; // 0x209fb80
|
|
/* 0209FB80 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209FB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FB84 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB84 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209FB84 */ if (_t82) goto L_0209FB88; else goto L_0209FB98;
|
|
L_0209FB88: ; // 0x209fb88
|
|
/* 0209FB88 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FB8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB90 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209FB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FB94 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB94 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209FB94 */ if (_t84) goto L_0209FBDC; else goto L_0209FB98;
|
|
L_0209FB98: ; // 0x209fb98
|
|
/* 0209FB98 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB9C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB9C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209FB9C */ if (_t86) goto L_0209FBA0; else goto L_0209FBB0;
|
|
L_0209FBA0: ; // 0x209fba0
|
|
/* 0209FBA0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FBA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FBAC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FBAC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209FBAC */ if (_t88) goto L_0209FBD0; else goto L_0209FBB0;
|
|
L_0209FBB0: ; // 0x209fbb0
|
|
/* 0209FBB0 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209FBB4 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209FBB8 */ cpu->r[5] = cpu->r[5] + 0x000021DCu;
|
|
/* 0209FBBC */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FBBC */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209FBC0 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209FBC4 */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FBC4 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209FBC8 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FBC8 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209FBCC */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209FBCC */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209FBD0: ; // 0x209fbd0
|
|
/* 0209FBD0 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FBD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209FBD4 */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FBD4 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209FBD8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FBD8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209FBDC: ; // 0x209fbdc
|
|
/* 0209FBDC */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FBDC */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209FBE0: ; // 0x209fbe0
|
|
/* 0209FBE0 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209FBE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209FBE4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209FBE8 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209FBE8 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209FBEC */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209FBEC */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209FBF0 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209FBF0 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209FBF4 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209FBF4 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209FBF8 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FBF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209FBFC */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FBFC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209FC00: ; // 0x209fc00
|
|
/* 0209FC00 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209FC00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209FC04 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FC08 */ _t105 = cpu->r[29] + 0x000001C4u;
|
|
/* 0209FC08 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209FC0C */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 0209FC10 */ _t106 = cpu->r[29] + 0x000001C0u;
|
|
/* 0209FC10 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209FC14 */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FC14 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209FC18 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209FC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209FC1C */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209FC1C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209FC20 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FC20 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209FC24: ; // 0x209fc24
|
|
/* 0209FC24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209FC28 */ /* nop */
|
|
/* 0209FC2C */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209FC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209FC30 */ cpu->lr = cpu->r[0];
|
|
/* 0209FC34 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209FC38 */ return;
|
|
}
|
|
|
|
// fn_0209F96C @ 0x209f96c
|
|
void Gambit_fn_0209F96C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111;
|
|
|
|
L_0209F96C: ; // 0x209f96c
|
|
/* 0209F96C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0209F96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209F96C */ cpu->r[1] = _t0;
|
|
/* 0209F970 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209F970 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209F974 */ /* nop */
|
|
/* 0209F978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0209F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209F97C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209F980 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F980 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0209F980 */ if (_t3) goto L_0209F984; else goto L_0209F994;
|
|
L_0209F984: ; // 0x209f984
|
|
/* 0209F984 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209F988 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F98C */ cpu->r[31] = cpu->r[3];
|
|
/* 0209F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209F990 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F990 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209F990 */ if (_t5) goto L_0209FC24; else goto L_0209F994;
|
|
L_0209F994: ; // 0x209f994
|
|
/* 0209F994 */ cpu->r[29] = cpu->r[31];
|
|
/* 0209F994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F998 */ cpu->r[28] = 0x10110000u;
|
|
/* 0209F99C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F99C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0209F99C */ if (_t7) goto L_0209F9A0; else goto L_0209F9CC;
|
|
L_0209F9A0: ; // 0x209f9a0
|
|
/* 0209F9A0 */ cpu->r[3] = 0x000001C8u;
|
|
/* 0209F9A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F9A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0209F9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0209F9AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0209F9AC */ if (_t9) goto L_0209F9B0; else goto L_0209F9CC;
|
|
L_0209F9B0: ; // 0x209f9b0
|
|
/* 0209F9B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F9B4 */ _t10 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209F9B4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0209F9B8 */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 0209F9BC */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0209F9BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0209F9C0 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 0209F9C0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0209F9C4 */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 0209F9C4 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[28]);
|
|
/* 0209F9C8 */ goto L_0209FC24;
|
|
L_0209F9CC: ; // 0x209f9cc
|
|
/* 0209F9CC */ cpu->r[27] = cpu->r[29];
|
|
/* 0209F9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209F9D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209F9D0 */ if (_t15) goto L_0209F9D4; else goto L_0209FA04;
|
|
L_0209F9D4: ; // 0x209f9d4
|
|
/* 0209F9D4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0209F9D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209F9DC */ cpu->r[27] = cpu->r[3];
|
|
/* 0209F9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0209F9E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209F9E0 */ if (_t17) goto L_0209F9E4; else goto L_0209FA04;
|
|
L_0209F9E4: ; // 0x209f9e4
|
|
/* 0209F9E4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209F9E8 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209F9EC */ _t18 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209F9EC */ cpu->r[28] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0209F9F0 */ cpu->r[0] = cpu->r[0] + 0x0000229Cu;
|
|
/* 0209F9F4 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209F9F8 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0209F9F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0209F9FC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209F9FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0209F9FC */ if (_t21) goto L_0209FA88; else goto L_0209FA00;
|
|
L_0209FA00: ; // 0x209fa00
|
|
/* 0209FA00 */ goto L_0209FA98;
|
|
L_0209FA04: ; // 0x209fa04
|
|
/* 0209FA04 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FA08 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA08 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0209FA08 */ if (_t23) goto L_0209FA0C; else goto L_0209FA38;
|
|
L_0209FA0C: ; // 0x209fa0c
|
|
/* 0209FA0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FA10 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FA18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209FA18 */ if (_t25) goto L_0209FA1C; else goto L_0209FA38;
|
|
L_0209FA1C: ; // 0x209fa1c
|
|
/* 0209FA1C */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA20 */ _t26 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209FA20 */ cpu->r[28] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0209FA24 */ cpu->r[0] = cpu->r[0] + 0x0000226Cu;
|
|
/* 0209FA28 */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FA28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0209FA2C */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FA2C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0209FA30 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FA30 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[28]);
|
|
/* 0209FA34 */ goto L_0209FA70;
|
|
L_0209FA38: ; // 0x209fa38
|
|
/* 0209FA38 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 0209FA3C */ cpu->r[5] = 0x00000080u;
|
|
/* 0209FA40 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA44 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FA44 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0209FA48 */ cpu->r[0] = cpu->r[0] + 0x00002254u;
|
|
/* 0209FA4C */ _t31 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FA4C */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0209FA50 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FA50 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0209FA54 */ _t33 = cpu->r[28] + 0x0000739Au;
|
|
/* 0209FA54 */ cpu->r[28] = rbrew_read16(cpu->mem, _t33);
|
|
/* 0209FA58 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA5C */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FA5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0209FA60 */ cpu->r[0] = cpu->r[0] + 0x0000226Cu;
|
|
/* 0209FA64 */ _t35 = cpu->r[27] + 0x0000010Au;
|
|
/* 0209FA64 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[28]);
|
|
/* 0209FA68 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FA68 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0209FA6C */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FA6C */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[28]);
|
|
L_0209FA70: ; // 0x209fa70
|
|
/* 0209FA70 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FA74 */ cpu->r[26] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0209FA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209FA78 */ cpu->r[0] = cpu->r[0] + 0x0000229Cu;
|
|
/* 0209FA7C */ cpu->r[27] = 0x00000000u;
|
|
/* 0209FA80 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0209FA80 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0209FA84 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA84 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0209FA84 */ if (_t40) goto L_0209FA88; else goto L_0209FA98;
|
|
L_0209FA88: ; // 0x209fa88
|
|
/* 0209FA88 */ cpu->r[3] = 0x000000B4u;
|
|
/* 0209FA8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FA90 */ cpu->r[26] = cpu->r[3];
|
|
/* 0209FA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0209FA94 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FA94 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0209FA94 */ if (_t42) goto L_0209FC00; else goto L_0209FA98;
|
|
L_0209FA98: ; // 0x209fa98
|
|
/* 0209FA98 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 0209FA98 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0209FA9C */ cpu->r[21] = cpu->r[26] + 0x00000010u;
|
|
/* 0209FA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAA0 */ cpu->r[23] = 0x10110000u;
|
|
/* 0209FAA4 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 0209FAA4 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0209FAA8 */ cpu->r[24] = 0x10010000u;
|
|
/* 0209FAAC */ cpu->r[25] = 0x10010000u;
|
|
/* 0209FAB0 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 0209FAB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0209FAB4 */ cpu->r[24] = cpu->r[24] + 0x0000223Cu;
|
|
/* 0209FAB8 */ cpu->r[25] = cpu->r[25] + 0x00002224u;
|
|
/* 0209FABC */ _t46 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0209FABC */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0209FAC0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAC0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0209FAC0 */ if (_t48) goto L_0209FAC4; else goto L_0209FAE4;
|
|
L_0209FAC4: ; // 0x209fac4
|
|
/* 0209FAC4 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FAC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FACC */ cpu->r[21] = cpu->r[3];
|
|
/* 0209FACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAD0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAD0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0209FAD0 */ if (_t50) goto L_0209FAD4; else goto L_0209FAE4;
|
|
L_0209FAD4: ; // 0x209fad4
|
|
/* 0209FAD4 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FAD8 */ _t51 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FAD8 */ cpu->r[23] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0209FADC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FADC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209FADC */ if (_t53) goto L_0209FAE0; else goto L_0209FB80;
|
|
L_0209FAE0: ; // 0x209fae0
|
|
/* 0209FAE0 */ goto L_0209FB70;
|
|
L_0209FAE4: ; // 0x209fae4
|
|
/* 0209FAE4 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209FAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FAE8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAE8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209FAE8 */ if (_t55) goto L_0209FAEC; else goto L_0209FB08;
|
|
L_0209FAEC: ; // 0x209faec
|
|
/* 0209FAEC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FAF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FAF4 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209FAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FAF8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FAF8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0209FAF8 */ if (_t57) goto L_0209FAFC; else goto L_0209FB08;
|
|
L_0209FAFC: ; // 0x209fafc
|
|
/* 0209FAFC */ _t58 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FAFC */ cpu->r[23] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0209FB00 */ _t59 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FB00 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 0209FB04 */ goto L_0209FB68;
|
|
L_0209FB08: ; // 0x209fb08
|
|
/* 0209FB08 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209FB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB0C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB0C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0209FB0C */ if (_t61) goto L_0209FB10; else goto L_0209FB34;
|
|
L_0209FB10: ; // 0x209fb10
|
|
/* 0209FB10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FB14 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB1C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB1C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209FB1C */ if (_t63) goto L_0209FB20; else goto L_0209FB34;
|
|
L_0209FB20: ; // 0x209fb20
|
|
/* 0209FB20 */ _t64 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209FB24 */ _t65 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FB24 */ cpu->r[23] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0209FB28 */ _t66 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FB28 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 0209FB2C */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FB2C */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[23]);
|
|
/* 0209FB30 */ goto L_0209FB64;
|
|
L_0209FB34: ; // 0x209fb34
|
|
/* 0209FB34 */ cpu->r[10] = 0x10010000u;
|
|
/* 0209FB38 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209FB3C */ cpu->r[10] = cpu->r[10] + 0x000021DCu;
|
|
/* 0209FB40 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FB40 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 0209FB44 */ cpu->r[11] = 0x00000040u;
|
|
/* 0209FB48 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FB48 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 0209FB4C */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FB4C */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 0209FB50 */ _t71 = cpu->r[23] + 0x00007399u;
|
|
/* 0209FB50 */ cpu->r[23] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0209FB54 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FB54 */ rbrew_write32(cpu->mem, _t72, cpu->r[25]);
|
|
/* 0209FB58 */ _t73 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FB58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209FB5C */ _t74 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209FB5C */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[23]);
|
|
/* 0209FB60 */ _t75 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FB60 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[23]);
|
|
L_0209FB64: ; // 0x209fb64
|
|
/* 0209FB64 */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FB64 */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
L_0209FB68: ; // 0x209fb68
|
|
/* 0209FB68 */ cpu->r[21] = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FB6C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB6C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0209FB6C */ if (_t78) goto L_0209FB70; else goto L_0209FB80;
|
|
L_0209FB70: ; // 0x209fb70
|
|
/* 0209FB70 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FB74 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB78 */ cpu->r[21] = cpu->r[3];
|
|
/* 0209FB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0209FB7C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB7C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0209FB7C */ if (_t80) goto L_0209FBE0; else goto L_0209FB80;
|
|
L_0209FB80: ; // 0x209fb80
|
|
/* 0209FB80 */ cpu->r[22] = cpu->r[21];
|
|
/* 0209FB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FB84 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB84 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0209FB84 */ if (_t82) goto L_0209FB88; else goto L_0209FB98;
|
|
L_0209FB88: ; // 0x209fb88
|
|
/* 0209FB88 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0209FB8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FB90 */ cpu->r[22] = cpu->r[3];
|
|
/* 0209FB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0209FB94 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB94 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0209FB94 */ if (_t84) goto L_0209FBDC; else goto L_0209FB98;
|
|
L_0209FB98: ; // 0x209fb98
|
|
/* 0209FB98 */ cpu->r[3] = cpu->r[22];
|
|
/* 0209FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FB9C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FB9C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209FB9C */ if (_t86) goto L_0209FBA0; else goto L_0209FBB0;
|
|
L_0209FBA0: ; // 0x209fba0
|
|
/* 0209FBA0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0209FBA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0209FBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0209FBAC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FBAC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0209FBAC */ if (_t88) goto L_0209FBD0; else goto L_0209FBB0;
|
|
L_0209FBB0: ; // 0x209fbb0
|
|
/* 0209FBB0 */ cpu->r[5] = 0x10010000u;
|
|
/* 0209FBB4 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0209FBB8 */ cpu->r[5] = cpu->r[5] + 0x000021DCu;
|
|
/* 0209FBBC */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0209FBBC */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0209FBC0 */ cpu->r[6] = 0x00000040u;
|
|
/* 0209FBC4 */ _t90 = cpu->r[3] + 0x00000004u;
|
|
/* 0209FBC4 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]);
|
|
/* 0209FBC8 */ _t91 = cpu->r[3] + 0x00000008u;
|
|
/* 0209FBC8 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 0209FBCC */ _t92 = cpu->r[22] + 0x0000004Bu;
|
|
/* 0209FBCC */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[23]);
|
|
L_0209FBD0: ; // 0x209fbd0
|
|
/* 0209FBD0 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 0209FBD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0209FBD4 */ _t94 = cpu->r[22] + 0x00000004u;
|
|
/* 0209FBD4 */ rbrew_write32(cpu->mem, _t94, cpu->r[25]);
|
|
/* 0209FBD8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FBD8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[23]);
|
|
L_0209FBDC: ; // 0x209fbdc
|
|
/* 0209FBDC */ _t96 = cpu->r[21] + 0x00000004u;
|
|
/* 0209FBDC */ rbrew_write32(cpu->mem, _t96, cpu->r[24]);
|
|
L_0209FBE0: ; // 0x209fbe0
|
|
/* 0209FBE0 */ _t97 = cpu->r[26] + 0x00000010u;
|
|
/* 0209FBE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0209FBE4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0209FBE8 */ _t98 = cpu->r[26] + 0x000000ACu;
|
|
/* 0209FBE8 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0209FBEC */ _t99 = cpu->r[26] + 0x000000A8u;
|
|
/* 0209FBEC */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209FBF0 */ _t100 = cpu->r[26] + 0x000000B0u;
|
|
/* 0209FBF0 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 0209FBF4 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 0209FBF4 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[23]);
|
|
/* 0209FBF8 */ _t102 = cpu->r[26] + 0x0000005Cu;
|
|
/* 0209FBF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0209FBFC */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FBFC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
L_0209FC00: ; // 0x209fc00
|
|
/* 0209FC00 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 0209FC00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0209FC04 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FC08 */ _t105 = cpu->r[29] + 0x000001C4u;
|
|
/* 0209FC08 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[30]);
|
|
/* 0209FC0C */ cpu->r[0] = cpu->r[0] + 0x000022B4u;
|
|
/* 0209FC10 */ _t106 = cpu->r[29] + 0x000001C0u;
|
|
/* 0209FC10 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0209FC14 */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 0209FC14 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[28]);
|
|
/* 0209FC18 */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 0209FC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0209FC1C */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 0209FC1C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209FC20 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FC20 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
L_0209FC24: ; // 0x209fc24
|
|
/* 0209FC24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0209FC28 */ /* nop */
|
|
/* 0209FC2C */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0209FC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209FC30 */ cpu->lr = cpu->r[0];
|
|
/* 0209FC34 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0209FC38 */ return;
|
|
}
|
|
|
|
// fn_0209FC3C @ 0x209fc3c
|
|
void Gambit_fn_0209FC3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181;
|
|
|
|
L_0209FC3C: ; // 0x209fc3c
|
|
/* 0209FC3C */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 0209FC3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0209FC3C */ cpu->r[1] = _t0;
|
|
/* 0209FC40 */ /* nop */
|
|
/* 0209FC44 */ cpu->r[0] = cpu->lr;
|
|
/* 0209FC48 */ _t1 = cpu->r[1] + 0x00000174u;
|
|
/* 0209FC48 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0209FC4C */ cpu->r[29] = 0x101C0000u;
|
|
/* 0209FC50 */ _t2 = cpu->r[29] + 0x0000457Cu;
|
|
/* 0209FC50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0209FC54 */ _t3 = cpu->r[29] + 0x0000001Eu;
|
|
/* 0209FC54 */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0209FC58 */ cpu->r[28] = cpu->r[3];
|
|
/* 0209FC5C */ cpu->r[30] = cpu->r[4];
|
|
/* 0209FC60 */ cpu->r[31] = cpu->r[5];
|
|
/* 0209FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0209FC68 */ cpu->r[26] = 0x10110000u;
|
|
/* 0209FC6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FC6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0209FC6C */ if (_t5) goto L_0209FE54; else goto L_0209FC70;
|
|
L_0209FC70: ; // 0x209fc70
|
|
/* 0209FC70 */ _t6 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0209FC70 */ cpu->r[3] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0209FC74 */ Gambit_fn_0282A11C(cpu);
|
|
/* 0209FC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 0209FC7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FC7C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0209FC7C */ if (_t8) goto L_0209FC80; else goto L_0209FE54;
|
|
L_0209FC80: ; // 0x209fc80
|
|
/* 0209FC80 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0209FC80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0209FC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0209FC88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FC88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0209FC88 */ if (_t11) goto L_0209FC94; else goto L_0209FC8C;
|
|
L_0209FC8C: ; // 0x209fc8c
|
|
/* 0209FC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0209FC90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FC90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0209FC90 */ if (_t13) goto L_0209FC94; else goto L_0209FE54;
|
|
L_0209FC94: ; // 0x209fc94
|
|
/* 0209FC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0209FC98 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FC98 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0209FC98 */ if (_t15) goto L_0209FD78; else goto L_0209FC9C;
|
|
L_0209FC9C: ; // 0x209fc9c
|
|
/* 0209FC9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0209FCA0 */ cpu->r[27] = cpu->r[29] + 0x000002DCu;
|
|
/* 0209FCA4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209FCA4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0209FCA4 */ if (_t17) goto L_0209FCA8; else goto L_0209FCB0;
|
|
L_0209FCA8: ; // 0x209fca8
|
|
/* 0209FCA8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000070u);
|
|
/* 0209FCAC */ cpu->r[27] = cpu->r[27] + cpu->r[7];
|
|
L_0209FCB0: ; // 0x209fcb0
|
|
/* 0209FCB0 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FCB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0209FCB4 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 0209FCB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0209FCB8 */ cpu->ctr = cpu->r[9];
|
|
/* 0209FCBC */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0209FCBC */ cpu->r[25] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0209FCC0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FCC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FCC8 */ _t21 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FCC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0209FCCC */ _t22 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209FCCC */ cpu->r[31] = rbrew_read16(cpu->mem, _t22);
|
|
/* 0209FCD0 */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FCD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t23);
|
|
/* 0209FCD4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0209FCD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0209FCDC */ cpu->r[5] = 0x00080000u;
|
|
/* 0209FCE0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FCE0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0209FCE0 */ if (_t25) goto L_0209FD08; else goto L_0209FCE4;
|
|
L_0209FCE4: ; // 0x209fce4
|
|
/* 0209FCE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0209FCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0209FCEC */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 0209FCF0 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209FCF0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0209FCF0 */ if (_t27) goto L_0209FD04; else goto L_0209FCF4;
|
|
L_0209FCF4: ; // 0x209fcf4
|
|
/* 0209FCF4 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0209FCF4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t28);
|
|
/* 0209FCF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209FCFC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FCFC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0209FCFC */ if (_t30) goto L_0209FD00; else goto L_0209FCE4;
|
|
L_0209FD00: ; // 0x209fd00
|
|
/* 0209FD00 */ goto L_0209FD08;
|
|
L_0209FD04: ; // 0x209fd04
|
|
/* 0209FD04 */ cpu->r[30] = 0x00000000u;
|
|
L_0209FD08: ; // 0x209fd08
|
|
/* 0209FD08 */ _t31 = cpu->r[28] + 0x00000008u;
|
|
/* 0209FD08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0209FD0C */ _t32 = cpu->r[27] + 0x00000004u;
|
|
/* 0209FD0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0209FD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0209FD14 */ _t33 = cpu->r[12] + 0x00000014u;
|
|
/* 0209FD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0209FD18 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209FD18 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0209FD18 */ if (_t35) goto L_0209FD20; else goto L_0209FD1C;
|
|
L_0209FD1C: ; // 0x209fd1c
|
|
/* 0209FD1C */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0209FD20: ; // 0x209fd20
|
|
/* 0209FD20 */ cpu->ctr = cpu->r[0];
|
|
/* 0209FD24 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FD28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FD2C */ _t36 = cpu->r[27] + 0x00000000u;
|
|
/* 0209FD2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0209FD30 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209FD34 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209FD38 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209FD3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209FD40 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209FD44 */ _t37 = cpu->r[6] + cpu->r[25];
|
|
/* 0209FD44 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[31]);
|
|
/* 0209FD48 */ _t38 = cpu->r[28] + 0x00000004u;
|
|
/* 0209FD48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0209FD4C */ _t39 = cpu->r[8] + 0x00000014u;
|
|
/* 0209FD4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0209FD50 */ cpu->ctr = cpu->r[9];
|
|
/* 0209FD54 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209FD58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FD5C */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 0209FD5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0209FD60 */ _t41 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FD60 */ cpu->r[10] = rbrew_read16(cpu->mem, _t41);
|
|
/* 0209FD64 */ cpu->r[11] = 0x00000000u;
|
|
/* 0209FD68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0209FD6C */ cpu->r[9] = 0x00080000u;
|
|
/* 0209FD70 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FD70 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0209FD70 */ if (_t43) goto L_0209FD74; else goto L_020A015C;
|
|
L_0209FD74: ; // 0x209fd74
|
|
/* 0209FD74 */ goto L_020A0180;
|
|
L_0209FD78: ; // 0x209fd78
|
|
/* 0209FD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0209FD7C */ cpu->r[30] = cpu->r[29] + 0x00000060u;
|
|
/* 0209FD80 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209FD80 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0209FD80 */ if (_t45) goto L_0209FD84; else goto L_0209FD8C;
|
|
L_0209FD84: ; // 0x209fd84
|
|
/* 0209FD84 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000D4u);
|
|
/* 0209FD88 */ cpu->r[30] = cpu->r[30] + cpu->r[7];
|
|
L_0209FD8C: ; // 0x209fd8c
|
|
/* 0209FD8C */ _t46 = cpu->r[30] + 0x00000004u;
|
|
/* 0209FD8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0209FD90 */ _t47 = cpu->r[8] + 0x00000014u;
|
|
/* 0209FD90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0209FD94 */ cpu->ctr = cpu->r[9];
|
|
/* 0209FD98 */ _t48 = cpu->r[28] + 0x00000000u;
|
|
/* 0209FD98 */ cpu->r[25] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0209FD9C */ cpu->r[3] = cpu->r[30];
|
|
/* 0209FDA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FDA4 */ _t49 = cpu->r[30] + 0x00000000u;
|
|
/* 0209FDA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0209FDA8 */ _t50 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209FDA8 */ cpu->r[31] = rbrew_read16(cpu->mem, _t50);
|
|
/* 0209FDAC */ _t51 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FDAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t51);
|
|
/* 0209FDB0 */ cpu->r[27] = 0x00000000u;
|
|
/* 0209FDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0209FDB8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0209FDBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FDBC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0209FDBC */ if (_t53) goto L_0209FDE4; else goto L_0209FDC0;
|
|
L_0209FDC0: ; // 0x209fdc0
|
|
/* 0209FDC0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0209FDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 0209FDC8 */ cpu->r[7] = cpu->r[7] + 0x00000002u;
|
|
/* 0209FDCC */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0209FDCC */ _t55 = _t54 & 0x00000001u;
|
|
/* 0209FDCC */ if (_t55) goto L_0209FDE0; else goto L_0209FDD0;
|
|
L_0209FDD0: ; // 0x209fdd0
|
|
/* 0209FDD0 */ _t56 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FDD0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t56);
|
|
/* 0209FDD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0209FDD8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FDD8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0209FDD8 */ if (_t58) goto L_0209FDDC; else goto L_0209FDC0;
|
|
L_0209FDDC: ; // 0x209fddc
|
|
/* 0209FDDC */ goto L_0209FDE4;
|
|
L_0209FDE0: ; // 0x209fde0
|
|
/* 0209FDE0 */ cpu->r[27] = 0x00000000u;
|
|
L_0209FDE4: ; // 0x209fde4
|
|
/* 0209FDE4 */ _t59 = cpu->r[28] + 0x00000008u;
|
|
/* 0209FDE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0209FDE8 */ _t60 = cpu->r[30] + 0x00000004u;
|
|
/* 0209FDE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0209FDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 0209FDF0 */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 0209FDF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0209FDF4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209FDF4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0209FDF4 */ if (_t63) goto L_0209FDFC; else goto L_0209FDF8;
|
|
L_0209FDF8: ; // 0x209fdf8
|
|
/* 0209FDF8 */ cpu->r[27] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0209FDFC: ; // 0x209fdfc
|
|
/* 0209FDFC */ cpu->ctr = cpu->r[5];
|
|
/* 0209FE00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0209FE04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FE08 */ _t64 = cpu->r[30] + 0x00000000u;
|
|
/* 0209FE08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0209FE0C */ cpu->r[6] = 0x00000000u;
|
|
/* 0209FE10 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209FE14 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209FE18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0209FE1C */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0209FE20 */ _t65 = cpu->r[6] + cpu->r[25];
|
|
/* 0209FE20 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[31]);
|
|
/* 0209FE24 */ _t66 = cpu->r[28] + 0x00000004u;
|
|
/* 0209FE24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0209FE28 */ _t67 = cpu->r[8] + 0x00000014u;
|
|
/* 0209FE28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0209FE2C */ cpu->ctr = cpu->r[9];
|
|
/* 0209FE30 */ cpu->r[3] = cpu->r[28];
|
|
/* 0209FE34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FE38 */ _t68 = cpu->r[28] + 0x00000000u;
|
|
/* 0209FE38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0209FE3C */ _t69 = cpu->r[7] + 0x00000000u;
|
|
/* 0209FE3C */ cpu->r[10] = rbrew_read16(cpu->mem, _t69);
|
|
/* 0209FE40 */ cpu->r[11] = 0x00000000u;
|
|
/* 0209FE44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0209FE48 */ cpu->r[9] = 0x00080000u;
|
|
/* 0209FE4C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FE4C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0209FE4C */ if (_t71) goto L_020A0180; else goto L_0209FE50;
|
|
L_0209FE50: ; // 0x209fe50
|
|
/* 0209FE50 */ goto L_020A015C;
|
|
L_0209FE54: ; // 0x209fe54
|
|
/* 0209FE54 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0209FE58 */ _t72 = cpu->r[9] + 0xFFFFD8F0u;
|
|
/* 0209FE58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0209FE5C */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 0209FE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0209FE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0209FE64 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0209FE68 */ cpu->r[24] = cpu->r[8] + 0x00000001u;
|
|
/* 0209FE6C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FE6C */ _t75 = _t74 & 0x00000001u;
|
|
/* 0209FE6C */ if (_t75) goto L_0209FE70; else goto L_0209FE90;
|
|
L_0209FE70: ; // 0x209fe70
|
|
/* 0209FE70 */ cpu->r[10] = 0x00000001u;
|
|
/* 0209FE74 */ cpu->r[4] = 0x101C0000u;
|
|
/* 0209FE78 */ cpu->r[3] = cpu->r[31] + 0x00002FECu;
|
|
/* 0209FE7C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0209FE80 */ cpu->r[4] = cpu->r[4] + 0x000034B0u;
|
|
/* 0209FE84 */ cpu->r[5] = 0x00000026u;
|
|
/* 0209FE88 */ _t76 = cpu->r[6] + 0xFFFFD8F0u;
|
|
/* 0209FE88 */ rbrew_write32(cpu->mem, _t76, cpu->r[10]);
|
|
/* 0209FE8C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_0209FE90: ; // 0x209fe90
|
|
/* 0209FE90 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0209FE94 */ _t77 = cpu->r[8] + 0xFFFFD8ECu;
|
|
/* 0209FE94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0209FE94 */ cpu->r[8] = _t77;
|
|
/* 0209FE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209FE9C */ cpu->r[30] = 0x101D0000u;
|
|
/* 0209FEA0 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FEA0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0209FEA0 */ if (_t79) goto L_0209FEA4; else goto L_0209FEB4;
|
|
L_0209FEA4: ; // 0x209fea4
|
|
/* 0209FEA4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0209FEA8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0209FEAC */ _t80 = cpu->r[8] + 0x00000000u;
|
|
/* 0209FEAC */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 0209FEB0 */ _t81 = cpu->r[30] + 0xFFFFE350u;
|
|
/* 0209FEB0 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
L_0209FEB4: ; // 0x209feb4
|
|
/* 0209FEB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000004u);
|
|
/* 0209FEB8 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0209FEB8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0209FEB8 */ if (_t83) goto L_0209FEC4; else goto L_0209FEBC;
|
|
L_0209FEBC: ; // 0x209febc
|
|
/* 0209FEBC */ cpu->r[5] = 0x00000000u;
|
|
/* 0209FEC0 */ goto L_0209FF18;
|
|
L_0209FEC4: ; // 0x209fec4
|
|
/* 0209FEC4 */ _t84 = cpu->r[30] + 0xFFFFE350u;
|
|
/* 0209FEC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0209FEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0209FECC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FECC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0209FECC */ if (_t86) goto L_0209FED0; else goto L_0209FF10;
|
|
L_0209FED0: ; // 0x209fed0
|
|
/* 0209FED0 */ Gambit_fn_0282A450(cpu);
|
|
/* 0209FED4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0209FED8 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0209FEDC */ _t87 = cpu->r[30] + 0xFFFFE350u;
|
|
/* 0209FEDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0209FEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0209FEE4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0209FEE4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0209FEE4 */ if (_t89) goto L_0209FEE8; else goto L_0209FF04;
|
|
L_0209FEE8: ; // 0x209fee8
|
|
/* 0209FEE8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0209FEEC */ cpu->r[4] = cpu->r[31] + 0x00002FECu;
|
|
/* 0209FEF0 */ cpu->r[27] = cpu->r[27] + 0xFFFFE340u;
|
|
/* 0209FEF4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0209FEF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FEFC */ Gambit_fn_0282A374(cpu);
|
|
/* 0209FF00 */ _t90 = cpu->r[30] + 0xFFFFE350u;
|
|
/* 0209FF00 */ rbrew_write32(cpu->mem, _t90, cpu->r[27]);
|
|
L_0209FF04: ; // 0x209ff04
|
|
/* 0209FF04 */ cpu->r[3] = cpu->r[25];
|
|
/* 0209FF08 */ Gambit_fn_02837030(cpu);
|
|
/* 0209FF0C */ _t91 = cpu->r[30] + 0xFFFFE350u;
|
|
/* 0209FF0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
L_0209FF10: ; // 0x209ff10
|
|
/* 0209FF10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0209FF14 */ _t92 = cpu->r[11] + cpu->r[12];
|
|
/* 0209FF14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
L_0209FF18: ; // 0x209ff18
|
|
/* 0209FF18 */ cpu->r[9] = 0x10010000u;
|
|
/* 0209FF1C */ cpu->r[12] = 0x10110000u;
|
|
/* 0209FF20 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 0209FF20 */ rbrew_write32(cpu->mem, _t93, cpu->r[5]);
|
|
/* 0209FF24 */ cpu->r[9] = cpu->r[9] + 0x000021ACu;
|
|
/* 0209FF28 */ _t94 = cpu->r[12] + 0x00007399u;
|
|
/* 0209FF28 */ cpu->r[12] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0209FF2C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0209FF30 */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 0209FF30 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 0209FF34 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FF38 */ _t96 = cpu->r[1] + 0x00000018u;
|
|
/* 0209FF38 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 0209FF3C */ cpu->r[0] = cpu->r[0] + 0x0000220Cu;
|
|
/* 0209FF40 */ _t97 = cpu->r[1] + 0x00000043u;
|
|
/* 0209FF40 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[12]);
|
|
/* 0209FF44 */ cpu->r[8] = 0x00000020u;
|
|
/* 0209FF48 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209FF48 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 0209FF4C */ _t99 = cpu->r[1] + 0x00000020u;
|
|
/* 0209FF4C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 0209FF50 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0209FF54 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 0209FF54 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[12]);
|
|
/* 0209FF58 */ Gambit_fn_020A03EC(cpu);
|
|
/* 0209FF5C */ cpu->r[4] = 0x10010000u;
|
|
/* 0209FF60 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 0209FF60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0209FF64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0209FF68 */ cpu->r[4] = cpu->r[4] + 0x000021A8u;
|
|
/* 0209FF6C */ _t102 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0209FF6C */ _t103 = _t102 & 0x00000001u;
|
|
/* 0209FF6C */ if (_t103) goto L_0209FF70; // else: addr-0 trap, fall-through
|
|
L_0209FF70: ; // 0x209ff70
|
|
/* 0209FF70 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0209FF74 */ cpu->r[6] = 0x00000080u;
|
|
/* 0209FF78 */ _t104 = cpu->r[26] + 0x0000739Au;
|
|
/* 0209FF78 */ cpu->r[31] = rbrew_read16(cpu->mem, _t104);
|
|
/* 0209FF7C */ cpu->r[0] = cpu->r[1] + 0x00000050u;
|
|
/* 0209FF80 */ _t105 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209FF80 */ rbrew_write32(cpu->mem, _t105, cpu->r[6]);
|
|
/* 0209FF84 */ cpu->r[30] = 0x10010000u;
|
|
/* 0209FF88 */ _t106 = cpu->r[1] + 0x0000014Eu;
|
|
/* 0209FF88 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[31]);
|
|
/* 0209FF8C */ cpu->r[30] = cpu->r[30] + 0x000021C4u;
|
|
/* 0209FF90 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 0209FF90 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0209FF94 */ cpu->r[0] = 0x10010000u;
|
|
/* 0209FF98 */ _t108 = cpu->r[1] + 0x00000050u;
|
|
/* 0209FF98 */ rbrew_write16(cpu->mem, _t108, (uint16_t)cpu->r[31]);
|
|
/* 0209FF9C */ cpu->r[0] = cpu->r[0] + 0x00002284u;
|
|
/* 0209FFA0 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0209FFA4 */ _t109 = cpu->r[1] + 0x00000048u;
|
|
/* 0209FFA4 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 0209FFA8 */ Gambit_fn_020A0424(cpu);
|
|
/* 0209FFAC */ _t110 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0209FFAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0209FFB0 */ _t111 = cpu->r[8] + 0x00000014u;
|
|
/* 0209FFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0209FFB4 */ cpu->ctr = cpu->r[0];
|
|
/* 0209FFB8 */ _t112 = cpu->r[1] + 0x00000044u;
|
|
/* 0209FFB8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0209FFBC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0209FFC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FFC4 */ _t113 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0209FFC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0209FFC8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0209FFCC */ _t114 = cpu->r[1] + 0x00000018u;
|
|
/* 0209FFCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0209FFD0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0209FFD4 */ Gambit_fn_0282C89C(cpu);
|
|
/* 0209FFD8 */ _t115 = cpu->r[1] + 0x00000048u;
|
|
/* 0209FFD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0209FFDC */ _t116 = cpu->r[12] + 0x00000014u;
|
|
/* 0209FFDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0209FFE0 */ cpu->ctr = cpu->r[5];
|
|
/* 0209FFE4 */ cpu->r[27] = cpu->r[3];
|
|
/* 0209FFE8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0209FFEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0209FFF0 */ _t117 = cpu->r[1] + 0x00000044u;
|
|
/* 0209FFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0209FFF4 */ _t118 = cpu->r[28] + 0x00000004u;
|
|
/* 0209FFF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0209FFF8 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0209FFF8 */ rbrew_write32(cpu->mem, _t119, cpu->r[30]);
|
|
/* 0209FFFC */ _t120 = cpu->r[1] + 0x00000008u;
|
|
/* 0209FFFC */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 020A0000 */ _t121 = cpu->r[7] + 0x00000014u;
|
|
/* 020A0000 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 020A0004 */ _t122 = cpu->r[28] + 0x00000000u;
|
|
/* 020A0004 */ cpu->r[26] = rbrew_read32(cpu->mem, _t122);
|
|
/* 020A0008 */ cpu->ctr = cpu->r[9];
|
|
/* 020A000C */ _t123 = cpu->r[28] + 0x000001C0u;
|
|
/* 020A000C */ cpu->r[24] = rbrew_read32(cpu->mem, _t123);
|
|
/* 020A0010 */ cpu->r[3] = cpu->r[28];
|
|
/* 020A0014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020A0018 */ _t124 = cpu->r[28] + 0x00000000u;
|
|
/* 020A0018 */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 020A001C */ _t125 = cpu->r[7] + 0x00000000u;
|
|
/* 020A001C */ cpu->r[0] = rbrew_read16(cpu->mem, _t125);
|
|
/* 020A0020 */ cpu->r[30] = 0x00000000u;
|
|
/* 020A0024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 020A0028 */ cpu->r[9] = 0x00080000u;
|
|
/* 020A002C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A002C */ _t127 = _t126 & 0x00000001u;
|
|
/* 020A002C */ if (_t127) goto L_020A0054; else goto L_020A0030;
|
|
L_020A0030: ; // 0x20a0030
|
|
/* 020A0030 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 020A0034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 020A0038 */ cpu->r[7] = cpu->r[7] + 0x00000002u;
|
|
/* 020A003C */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020A003C */ _t129 = _t128 & 0x00000001u;
|
|
/* 020A003C */ if (_t129) goto L_020A0050; else goto L_020A0040;
|
|
L_020A0040: ; // 0x20a0040
|
|
/* 020A0040 */ _t130 = cpu->r[7] + 0x00000000u;
|
|
/* 020A0040 */ cpu->r[0] = rbrew_read16(cpu->mem, _t130);
|
|
/* 020A0044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 020A0048 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A0048 */ _t132 = _t131 & 0x00000001u;
|
|
/* 020A0048 */ if (_t132) goto L_020A004C; else goto L_020A0030;
|
|
L_020A004C: ; // 0x20a004c
|
|
/* 020A004C */ goto L_020A0054;
|
|
L_020A0050: ; // 0x20a0050
|
|
/* 020A0050 */ cpu->r[30] = 0x00000000u;
|
|
L_020A0054: ; // 0x20a0054
|
|
/* 020A0054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 020A0058 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A0058 */ _t134 = _t133 & 0x00000001u;
|
|
/* 020A0058 */ if (_t134) goto L_020A005C; else goto L_020A006C;
|
|
L_020A005C: ; // 0x20a005c
|
|
/* 020A005C */ cpu->r[12] = cpu->r[30] + cpu->r[24];
|
|
/* 020A0060 */ cpu->r[24] = cpu->r[12] + 0x00000001u;
|
|
/* 020A0060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 020A0064 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A0064 */ _t136 = _t135 & 0x00000001u;
|
|
/* 020A0064 */ if (_t136) goto L_020A0068; else goto L_020A006C;
|
|
L_020A0068: ; // 0x20a0068
|
|
/* 020A0068 */ cpu->r[24] = 0x00000000u;
|
|
L_020A006C: ; // 0x20a006c
|
|
/* 020A006C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 020A0070 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A0070 */ _t138 = _t137 & 0x00000001u;
|
|
/* 020A0070 */ if (_t138) goto L_020A0074; else goto L_020A00C4;
|
|
L_020A0074: ; // 0x20a0074
|
|
/* 020A0074 */ _t139 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A0074 */ cpu->r[5] = rbrew_read32(cpu->mem, _t139);
|
|
/* 020A0078 */ _t140 = cpu->r[5] + 0x00000014u;
|
|
/* 020A0078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 020A007C */ cpu->ctr = cpu->r[6];
|
|
/* 020A0080 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020A0084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020A0088 */ _t141 = cpu->r[1] + 0x00000008u;
|
|
/* 020A0088 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 020A008C */ _t142 = cpu->r[10] + 0x00000000u;
|
|
/* 020A008C */ cpu->r[8] = rbrew_read16(cpu->mem, _t142);
|
|
/* 020A0090 */ cpu->r[27] = 0x00000000u;
|
|
/* 020A0094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 020A0098 */ cpu->r[5] = 0x00080000u;
|
|
/* 020A009C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A009C */ _t144 = _t143 & 0x00000001u;
|
|
/* 020A009C */ if (_t144) goto L_020A00C4; else goto L_020A00A0;
|
|
L_020A00A0: ; // 0x20a00a0
|
|
/* 020A00A0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 020A00A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]);
|
|
/* 020A00A8 */ cpu->r[10] = cpu->r[10] + 0x00000002u;
|
|
/* 020A00AC */ _t145 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020A00AC */ _t146 = _t145 & 0x00000001u;
|
|
/* 020A00AC */ if (_t146) goto L_020A00C0; else goto L_020A00B0;
|
|
L_020A00B0: ; // 0x20a00b0
|
|
/* 020A00B0 */ _t147 = cpu->r[10] + 0x00000000u;
|
|
/* 020A00B0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t147);
|
|
/* 020A00B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 020A00B8 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A00B8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 020A00B8 */ if (_t149) goto L_020A00BC; else goto L_020A00A0;
|
|
L_020A00BC: ; // 0x20a00bc
|
|
/* 020A00BC */ goto L_020A00C4;
|
|
L_020A00C0: ; // 0x20a00c0
|
|
/* 020A00C0 */ cpu->r[27] = 0x00000000u;
|
|
L_020A00C4: ; // 0x20a00c4
|
|
/* 020A00C4 */ _t150 = cpu->r[28] + 0x00000008u;
|
|
/* 020A00C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t150);
|
|
/* 020A00C8 */ cpu->r[5] = cpu->r[11] - cpu->r[24];
|
|
/* 020A00CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]);
|
|
/* 020A00D0 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020A00D0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 020A00D0 */ if (_t152) goto L_020A00D8; else goto L_020A00D4;
|
|
L_020A00D4: ; // 0x20a00d4
|
|
/* 020A00D4 */ cpu->r[27] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_020A00D8: ; // 0x20a00d8
|
|
/* 020A00D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 020A00DC */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020A00DC */ _t154 = _t153 & 0x00000001u;
|
|
/* 020A00DC */ if (_t154) goto L_020A00E0; else goto L_020A0130;
|
|
L_020A00E0: ; // 0x20a00e0
|
|
/* 020A00E0 */ _t155 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020A00E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t155);
|
|
/* 020A00E4 */ _t156 = cpu->r[12] + 0x00000014u;
|
|
/* 020A00E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t156);
|
|
/* 020A00E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 020A00EC */ cpu->ctr = cpu->r[5];
|
|
/* 020A00F0 */ cpu->r[25] = cpu->r[26] + cpu->r[0];
|
|
/* 020A00F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020A00F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020A00FC */ _t157 = cpu->r[1] + 0x00000008u;
|
|
/* 020A00FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
|
|
/* 020A0100 */ cpu->r[6] = 0x00000000u;
|
|
/* 020A0104 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 020A0108 */ cpu->r[3] = cpu->r[25];
|
|
/* 020A010C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020A0110 */ cpu->r[0] = cpu->r[24] + cpu->r[27];
|
|
/* 020A0114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 020A0118 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020A0118 */ _t159 = _t158 & 0x00000001u;
|
|
/* 020A0118 */ if (_t159) goto L_020A011C; else goto L_020A0124;
|
|
L_020A011C: ; // 0x20a011c
|
|
/* 020A011C */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 020A0120 */ _t160 = cpu->r[6] + cpu->r[26];
|
|
/* 020A0120 */ rbrew_write16(cpu->mem, _t160, (uint16_t)cpu->r[31]);
|
|
L_020A0124: ; // 0x20a0124
|
|
/* 020A0124 */ _t161 = cpu->r[28] + 0x000001C0u;
|
|
/* 020A0124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 020A0128 */ cpu->r[7] = cpu->r[7] + cpu->r[27];
|
|
/* 020A012C */ _t162 = cpu->r[28] + 0x000001C0u;
|
|
/* 020A012C */ rbrew_write32(cpu->mem, _t162, cpu->r[7]);
|
|
L_020A0130: ; // 0x20a0130
|
|
/* 020A0130 */ _t163 = cpu->r[28] + 0x00000004u;
|
|
/* 020A0130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t163);
|
|
/* 020A0134 */ _t164 = cpu->r[8] + 0x00000014u;
|
|
/* 020A0134 */ cpu->r[9] = rbrew_read32(cpu->mem, _t164);
|
|
/* 020A0138 */ cpu->ctr = cpu->r[9];
|
|
/* 020A013C */ cpu->r[3] = cpu->r[28];
|
|
/* 020A0140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020A0144 */ _t165 = cpu->r[28] + 0x00000000u;
|
|
/* 020A0144 */ cpu->r[7] = rbrew_read32(cpu->mem, _t165);
|
|
/* 020A0148 */ _t166 = cpu->r[7] + 0x00000000u;
|
|
/* 020A0148 */ cpu->r[10] = rbrew_read16(cpu->mem, _t166);
|
|
/* 020A014C */ cpu->r[11] = 0x00000000u;
|
|
/* 020A0150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 020A0154 */ cpu->r[9] = 0x00080000u;
|
|
/* 020A0158 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A0158 */ _t168 = _t167 & 0x00000001u;
|
|
/* 020A0158 */ if (_t168) goto L_020A0180; else goto L_020A015C;
|
|
L_020A015C: ; // 0x20a015c
|
|
/* 020A015C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 020A0160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 020A0164 */ cpu->r[7] = cpu->r[7] + 0x00000002u;
|
|
/* 020A0168 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020A0168 */ _t170 = _t169 & 0x00000001u;
|
|
/* 020A0168 */ if (_t170) goto L_020A017C; else goto L_020A016C;
|
|
L_020A016C: ; // 0x20a016c
|
|
/* 020A016C */ _t171 = cpu->r[7] + 0x00000000u;
|
|
/* 020A016C */ cpu->r[12] = rbrew_read16(cpu->mem, _t171);
|
|
/* 020A0170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 020A0174 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A0174 */ _t173 = _t172 & 0x00000001u;
|
|
/* 020A0174 */ if (_t173) goto L_020A0178; else goto L_020A015C;
|
|
L_020A0178: ; // 0x20a0178
|
|
/* 020A0178 */ goto L_020A0180;
|
|
L_020A017C: ; // 0x20a017c
|
|
/* 020A017C */ cpu->r[11] = 0x00000000u;
|
|
L_020A0180: ; // 0x20a0180
|
|
/* 020A0180 */ _t174 = cpu->r[28] + 0x000001C0u;
|
|
/* 020A0180 */ rbrew_write32(cpu->mem, _t174, cpu->r[11]);
|
|
/* 020A0184 */ _t175 = cpu->r[29] + 0x0000001Eu;
|
|
/* 020A0184 */ cpu->r[0] = rbrew_read8(cpu->mem, _t175);
|
|
/* 020A0188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020A018C */ cpu->r[31] = 0x00000000u;
|
|
/* 020A0190 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A0190 */ _t177 = _t176 & 0x00000001u;
|
|
/* 020A0190 */ if (_t177) goto L_020A01A8; else goto L_020A0194;
|
|
L_020A0194: ; // 0x20a0194
|
|
/* 020A0194 */ _t178 = cpu->r[29] + 0x0000001Cu;
|
|
/* 020A0194 */ cpu->r[3] = rbrew_read16(cpu->mem, _t178);
|
|
/* 020A0198 */ Gambit_fn_0282A11C(cpu);
|
|
/* 020A019C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 020A01A0 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020A01A0 */ _t180 = _t179 & 0x00000001u;
|
|
/* 020A01A0 */ if (_t180) goto L_020A01A4; else goto L_020A01A8;
|
|
L_020A01A4: ; // 0x20a01a4
|
|
/* 020A01A4 */ cpu->r[31] = 0x00000001u;
|
|
L_020A01A8: ; // 0x20a01a8
|
|
/* 020A01A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 020A01AC */ /* nop */
|
|
/* 020A01B0 */ _t181 = cpu->r[1] + 0x00000174u;
|
|
/* 020A01B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 020A01B4 */ cpu->lr = cpu->r[0];
|
|
/* 020A01B8 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 020A01BC */ return;
|
|
}
|
|
|