mirror of https://github.com/zeldaret/tp.git
172 lines
7.2 KiB
ArmAsm
172 lines
7.2 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 80296108
|
|
|
|
|
|
.global JASSeqReader_NS_init
|
|
JASSeqReader_NS_init:
|
|
/* 80296108 00293048 38 C0 00 00 */ li r6, 0
|
|
/* 8029610C 0029304C 90 C3 00 00 */ stw r6, 0(r3)
|
|
/* 80296110 00293050 90 C3 00 04 */ stw r6, 4(r3)
|
|
/* 80296114 00293054 90 C3 00 08 */ stw r6, 8(r3)
|
|
/* 80296118 00293058 38 80 00 00 */ li r4, 0
|
|
/* 8029611C 0029305C 7C C5 33 78 */ mr r5, r6
|
|
/* 80296120 00293060 38 00 00 08 */ li r0, 8
|
|
/* 80296124 00293064 7C 09 03 A6 */ mtctr r0
|
|
lbl_80296128:
|
|
/* 80296128 00293068 38 05 00 0C */ addi r0, r5, 0xc
|
|
/* 8029612C 0029306C 7C C3 01 2E */ stwx r6, r3, r0
|
|
/* 80296130 00293070 38 04 00 2C */ addi r0, r4, 0x2c
|
|
/* 80296134 00293074 7C C3 03 2E */ sthx r6, r3, r0
|
|
/* 80296138 00293078 38 84 00 02 */ addi r4, r4, 2
|
|
/* 8029613C 0029307C 38 A5 00 04 */ addi r5, r5, 4
|
|
/* 80296140 00293080 42 00 FF E8 */ bdnz lbl_80296128
|
|
/* 80296144 00293084 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_init_X1_
|
|
JASSeqReader_NS_init_X1_:
|
|
/* 80296148 00293088 90 83 00 00 */ stw r4, 0(r3)
|
|
/* 8029614C 0029308C 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 80296150 00293090 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 80296154 00293094 38 C0 00 00 */ li r6, 0
|
|
/* 80296158 00293098 90 C3 00 08 */ stw r6, 8(r3)
|
|
/* 8029615C 0029309C 38 80 00 00 */ li r4, 0
|
|
/* 80296160 002930A0 7C C5 33 78 */ mr r5, r6
|
|
/* 80296164 002930A4 38 00 00 08 */ li r0, 8
|
|
/* 80296168 002930A8 7C 09 03 A6 */ mtctr r0
|
|
lbl_8029616C:
|
|
/* 8029616C 002930AC 38 05 00 0C */ addi r0, r5, 0xc
|
|
/* 80296170 002930B0 7C C3 01 2E */ stwx r6, r3, r0
|
|
/* 80296174 002930B4 38 04 00 2C */ addi r0, r4, 0x2c
|
|
/* 80296178 002930B8 7C C3 03 2E */ sthx r6, r3, r0
|
|
/* 8029617C 002930BC 38 84 00 02 */ addi r4, r4, 2
|
|
/* 80296180 002930C0 38 A5 00 04 */ addi r5, r5, 4
|
|
/* 80296184 002930C4 42 00 FF E8 */ bdnz lbl_8029616C
|
|
/* 80296188 002930C8 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_call
|
|
JASSeqReader_NS_call:
|
|
/* 8029618C 002930CC 80 A3 00 08 */ lwz r5, 8(r3)
|
|
/* 80296190 002930D0 28 05 00 08 */ cmplwi r5, 8
|
|
/* 80296194 002930D4 41 80 00 0C */ blt lbl_802961A0
|
|
/* 80296198 002930D8 38 60 00 00 */ li r3, 0
|
|
/* 8029619C 002930DC 4E 80 00 20 */ blr
|
|
lbl_802961A0:
|
|
/* 802961A0 002930E0 80 C3 00 04 */ lwz r6, 4(r3)
|
|
/* 802961A4 002930E4 38 05 00 01 */ addi r0, r5, 1
|
|
/* 802961A8 002930E8 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 802961AC 002930EC 54 A0 10 3A */ slwi r0, r5, 2
|
|
/* 802961B0 002930F0 7C A3 02 14 */ add r5, r3, r0
|
|
/* 802961B4 002930F4 90 C5 00 0C */ stw r6, 0xc(r5)
|
|
/* 802961B8 002930F8 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 802961BC 002930FC 7C 00 22 14 */ add r0, r0, r4
|
|
/* 802961C0 00293100 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802961C4 00293104 38 60 00 01 */ li r3, 1
|
|
/* 802961C8 00293108 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_loopStart
|
|
JASSeqReader_NS_loopStart:
|
|
/* 802961CC 0029310C 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 802961D0 00293110 28 00 00 08 */ cmplwi r0, 8
|
|
/* 802961D4 00293114 41 80 00 0C */ blt lbl_802961E0
|
|
/* 802961D8 00293118 38 60 00 00 */ li r3, 0
|
|
/* 802961DC 0029311C 4E 80 00 20 */ blr
|
|
lbl_802961E0:
|
|
/* 802961E0 00293120 80 C3 00 04 */ lwz r6, 4(r3)
|
|
/* 802961E4 00293124 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 802961E8 00293128 7C A3 02 14 */ add r5, r3, r0
|
|
/* 802961EC 0029312C 90 C5 00 0C */ stw r6, 0xc(r5)
|
|
/* 802961F0 00293130 80 A3 00 08 */ lwz r5, 8(r3)
|
|
/* 802961F4 00293134 38 05 00 01 */ addi r0, r5, 1
|
|
/* 802961F8 00293138 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 802961FC 0029313C 54 A0 08 3C */ slwi r0, r5, 1
|
|
/* 80296200 00293140 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80296204 00293144 B0 83 00 2C */ sth r4, 0x2c(r3)
|
|
/* 80296208 00293148 38 60 00 01 */ li r3, 1
|
|
/* 8029620C 0029314C 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_loopEnd
|
|
JASSeqReader_NS_loopEnd:
|
|
/* 80296210 00293150 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 80296214 00293154 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80296218 00293158 40 82 00 0C */ bne lbl_80296224
|
|
/* 8029621C 0029315C 38 60 00 00 */ li r3, 0
|
|
/* 80296220 00293160 4E 80 00 20 */ blr
|
|
lbl_80296224:
|
|
/* 80296224 00293164 54 00 08 3C */ slwi r0, r0, 1
|
|
/* 80296228 00293168 7C 83 02 14 */ add r4, r3, r0
|
|
/* 8029622C 0029316C A0 A4 00 2A */ lhz r5, 0x2a(r4)
|
|
/* 80296230 00293170 28 05 00 00 */ cmplwi r5, 0
|
|
/* 80296234 00293174 41 82 00 0C */ beq lbl_80296240
|
|
/* 80296238 00293178 38 05 FF FF */ addi r0, r5, -1
|
|
/* 8029623C 0029317C 54 05 04 3E */ clrlwi r5, r0, 0x10
|
|
lbl_80296240:
|
|
/* 80296240 00293180 54 A0 04 3F */ clrlwi. r0, r5, 0x10
|
|
/* 80296244 00293184 40 82 00 18 */ bne lbl_8029625C
|
|
/* 80296248 00293188 80 83 00 08 */ lwz r4, 8(r3)
|
|
/* 8029624C 0029318C 38 04 FF FF */ addi r0, r4, -1
|
|
/* 80296250 00293190 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 80296254 00293194 38 60 00 01 */ li r3, 1
|
|
/* 80296258 00293198 4E 80 00 20 */ blr
|
|
lbl_8029625C:
|
|
/* 8029625C 0029319C B0 A4 00 2A */ sth r5, 0x2a(r4)
|
|
/* 80296260 002931A0 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 80296264 002931A4 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80296268 002931A8 7C 83 02 14 */ add r4, r3, r0
|
|
/* 8029626C 002931AC 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 80296270 002931B0 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 80296274 002931B4 38 60 00 01 */ li r3, 1
|
|
/* 80296278 002931B8 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_ret
|
|
JASSeqReader_NS_ret:
|
|
/* 8029627C 002931BC 80 83 00 08 */ lwz r4, 8(r3)
|
|
/* 80296280 002931C0 28 04 00 00 */ cmplwi r4, 0
|
|
/* 80296284 002931C4 40 82 00 0C */ bne lbl_80296290
|
|
/* 80296288 002931C8 38 60 00 00 */ li r3, 0
|
|
/* 8029628C 002931CC 4E 80 00 20 */ blr
|
|
lbl_80296290:
|
|
/* 80296290 002931D0 38 04 FF FF */ addi r0, r4, -1
|
|
/* 80296294 002931D4 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 80296298 002931D8 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8029629C 002931DC 7C 83 02 14 */ add r4, r3, r0
|
|
/* 802962A0 002931E0 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 802962A4 002931E4 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802962A8 002931E8 38 60 00 01 */ li r3, 1
|
|
/* 802962AC 002931EC 4E 80 00 20 */ blr
|
|
|
|
.global JASSeqReader_NS_readMidiValue
|
|
JASSeqReader_NS_readMidiValue:
|
|
/* 802962B0 002931F0 80 83 00 04 */ lwz r4, 4(r3)
|
|
/* 802962B4 002931F4 38 04 00 01 */ addi r0, r4, 1
|
|
/* 802962B8 002931F8 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802962BC 002931FC 88 84 00 00 */ lbz r4, 0(r4)
|
|
/* 802962C0 00293200 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
|
|
/* 802962C4 00293204 40 82 00 0C */ bne lbl_802962D0
|
|
/* 802962C8 00293208 7C 83 23 78 */ mr r3, r4
|
|
/* 802962CC 0029320C 4E 80 00 20 */ blr
|
|
lbl_802962D0:
|
|
/* 802962D0 00293210 54 85 06 7E */ clrlwi r5, r4, 0x19
|
|
/* 802962D4 00293214 38 C0 00 00 */ li r6, 0
|
|
lbl_802962D8:
|
|
/* 802962D8 00293218 2C 06 00 02 */ cmpwi r6, 2
|
|
/* 802962DC 0029321C 40 81 00 0C */ ble lbl_802962E8
|
|
/* 802962E0 00293220 38 60 00 00 */ li r3, 0
|
|
/* 802962E4 00293224 4E 80 00 20 */ blr
|
|
lbl_802962E8:
|
|
/* 802962E8 00293228 80 83 00 04 */ lwz r4, 4(r3)
|
|
/* 802962EC 0029322C 38 04 00 01 */ addi r0, r4, 1
|
|
/* 802962F0 00293230 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802962F4 00293234 88 84 00 00 */ lbz r4, 0(r4)
|
|
/* 802962F8 00293238 54 A5 38 30 */ slwi r5, r5, 7
|
|
/* 802962FC 0029323C 54 80 06 7E */ clrlwi r0, r4, 0x19
|
|
/* 80296300 00293240 7C A5 03 78 */ or r5, r5, r0
|
|
/* 80296304 00293244 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
|
|
/* 80296308 00293248 41 82 00 0C */ beq lbl_80296314
|
|
/* 8029630C 0029324C 38 C6 00 01 */ addi r6, r6, 1
|
|
/* 80296310 00293250 4B FF FF C8 */ b lbl_802962D8
|
|
lbl_80296314:
|
|
/* 80296314 00293254 7C A3 2B 78 */ mr r3, r5
|
|
/* 80296318 00293258 4E 80 00 20 */ blr
|
|
|