mirror of
https://github.com/encounter/ogws.git
synced 2026-03-30 11:33:37 -07:00
69 lines
3.0 KiB
ArmAsm
69 lines
3.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
.global __prep_buffer
|
|
__prep_buffer:
|
|
/* 800B43B8 000AF2B8 80 83 00 18 */ lwz r4, 0x18(r3)
|
|
/* 800B43BC 000AF2BC 80 03 00 2C */ lwz r0, 0x2c(r3)
|
|
/* 800B43C0 000AF2C0 80 C3 00 1C */ lwz r6, 0x1c(r3)
|
|
/* 800B43C4 000AF2C4 80 A3 00 20 */ lwz r5, 0x20(r3)
|
|
/* 800B43C8 000AF2C8 7C 80 00 38 */ and r0, r4, r0
|
|
/* 800B43CC 000AF2CC 90 C3 00 24 */ stw r6, 0x24(r3)
|
|
/* 800B43D0 000AF2D0 7C 00 28 50 */ subf r0, r0, r5
|
|
/* 800B43D4 000AF2D4 90 03 00 28 */ stw r0, 0x28(r3)
|
|
/* 800B43D8 000AF2D8 90 83 00 34 */ stw r4, 0x34(r3)
|
|
/* 800B43DC 000AF2DC 4E 80 00 20 */ blr
|
|
|
|
.global __flush_buffer
|
|
__flush_buffer:
|
|
/* 800B43E0 000AF2E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 800B43E4 000AF2E4 7C 08 02 A6 */ mflr r0
|
|
/* 800B43E8 000AF2E8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800B43EC 000AF2EC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 800B43F0 000AF2F0 7C 9F 23 78 */ mr r31, r4
|
|
/* 800B43F4 000AF2F4 93 C1 00 08 */ stw r30, 8(r1)
|
|
/* 800B43F8 000AF2F8 7C 7E 1B 78 */ mr r30, r3
|
|
/* 800B43FC 000AF2FC 80 A3 00 1C */ lwz r5, 0x1c(r3)
|
|
/* 800B4400 000AF300 80 03 00 24 */ lwz r0, 0x24(r3)
|
|
/* 800B4404 000AF304 7C 05 00 51 */ subf. r0, r5, r0
|
|
/* 800B4408 000AF308 41 82 00 50 */ beq lbl_800B4458
|
|
/* 800B440C 000AF30C 81 9E 00 40 */ lwz r12, 0x40(r30)
|
|
/* 800B4410 000AF310 7C A4 2B 78 */ mr r4, r5
|
|
/* 800B4414 000AF314 90 03 00 28 */ stw r0, 0x28(r3)
|
|
/* 800B4418 000AF318 38 BE 00 28 */ addi r5, r30, 0x28
|
|
/* 800B441C 000AF31C 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 800B4420 000AF320 80 DE 00 48 */ lwz r6, 0x48(r30)
|
|
/* 800B4424 000AF324 7D 89 03 A6 */ mtctr r12
|
|
/* 800B4428 000AF328 4E 80 04 21 */ bctrl
|
|
/* 800B442C 000AF32C 2C 1F 00 00 */ cmpwi r31, 0
|
|
/* 800B4430 000AF330 41 82 00 0C */ beq lbl_800B443C
|
|
/* 800B4434 000AF334 80 1E 00 28 */ lwz r0, 0x28(r30)
|
|
/* 800B4438 000AF338 90 1F 00 00 */ stw r0, 0(r31)
|
|
lbl_800B443C:
|
|
/* 800B443C 000AF33C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800B4440 000AF340 41 82 00 08 */ beq lbl_800B4448
|
|
/* 800B4444 000AF344 48 00 00 3C */ b lbl_800B4480
|
|
lbl_800B4448:
|
|
/* 800B4448 000AF348 80 7E 00 18 */ lwz r3, 0x18(r30)
|
|
/* 800B444C 000AF34C 80 1E 00 28 */ lwz r0, 0x28(r30)
|
|
/* 800B4450 000AF350 7C 03 02 14 */ add r0, r3, r0
|
|
/* 800B4454 000AF354 90 1E 00 18 */ stw r0, 0x18(r30)
|
|
lbl_800B4458:
|
|
/* 800B4458 000AF358 80 9E 00 18 */ lwz r4, 0x18(r30)
|
|
/* 800B445C 000AF35C 38 60 00 00 */ li r3, 0
|
|
/* 800B4460 000AF360 80 1E 00 2C */ lwz r0, 0x2c(r30)
|
|
/* 800B4464 000AF364 80 DE 00 1C */ lwz r6, 0x1c(r30)
|
|
/* 800B4468 000AF368 80 BE 00 20 */ lwz r5, 0x20(r30)
|
|
/* 800B446C 000AF36C 7C 80 00 38 */ and r0, r4, r0
|
|
/* 800B4470 000AF370 90 DE 00 24 */ stw r6, 0x24(r30)
|
|
/* 800B4474 000AF374 7C 00 28 50 */ subf r0, r0, r5
|
|
/* 800B4478 000AF378 90 1E 00 28 */ stw r0, 0x28(r30)
|
|
/* 800B447C 000AF37C 90 9E 00 34 */ stw r4, 0x34(r30)
|
|
lbl_800B4480:
|
|
/* 800B4480 000AF380 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800B4484 000AF384 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 800B4488 000AF388 83 C1 00 08 */ lwz r30, 8(r1)
|
|
/* 800B448C 000AF38C 7C 08 03 A6 */ mtlr r0
|
|
/* 800B4490 000AF390 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800B4494 000AF394 4E 80 00 20 */ blr
|