Files
tp/include/JSystem/JUtility/JUTGamePad/asm/func_802E1500.s
T
Erin Moon 992cf48c7f Split and decompile parts of JUTGamePad (#33)
* JUTGamePad.o: elaborate classes, split

* JUTGamePad::CButton: decompile functions:
- clear()
- clear(JUTGamePad*)
- setRepeat()

* elaborate PAD* types in new header

* decompile getNumBit()

* elaborate JUTGamePad fields

* move retyped externs from variables.h to JUTGamePad.h

* elaborate JUTGamePadLongPress

* JUTGamePad: decompile functions

- initList()
- init()
- clear()
- assign()
- checkResetCallback()
- checkResetSwitch()
- clearForReset()
- recalibrate()

JUTGamePad: decompile

* JUTGamePad::CStick::clear(): decompile

* JUTGamePad::CRumble: decompile functions

- startMotor()
- stopMotor()
- triggerPatternedRumble()
- startPatternedRumble()
- stopPatternedRumbleAtThePeriod()
- setEnabled()

* JUTGamePadLongPress::checkCallback(): decompile

* nonmatching: JUTGamePad::CRumble::update() and JUTGamePad::getGamePad

* JSUList<T>: allow access to JSUPtrList functions

* functions.h: clear out some func decls that are no longer used

* add notes in JUTGamePad.cpp

* clang-format + add back extern funcs

* fix some more extern labels

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2020-12-29 20:22:18 -05:00

51 lines
2.5 KiB
ArmAsm

/* 802E1500 002DE440 54 80 07 3E */ clrlwi r0, r4, 0x1c
/* 802E1504 002DE444 C0 2D 83 64 */ lfs f1, lbl_804508E4-_SDA_BASE_(r13)
/* 802E1508 002DE448 FC 80 08 50 */ fneg f4, f1
/* 802E150C 002DE44C C0 43 00 00 */ lfs f2, 0(r3)
/* 802E1510 002DE450 FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802E1514 002DE454 40 80 00 14 */ bge lbl_802E1528
/* 802E1518 002DE458 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E151C 002DE45C 40 80 00 0C */ bge lbl_802E1528
/* 802E1520 002DE460 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 802E1524 002DE464 48 00 00 38 */ b lbl_802E155C
lbl_802E1528:
/* 802E1528 002DE468 C0 6D 83 60 */ lfs f3, lbl_804508E0-_SDA_BASE_(r13)
/* 802E152C 002DE46C FC 00 18 50 */ fneg f0, f3
/* 802E1530 002DE470 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E1534 002DE474 4C 40 13 82 */ cror 2, 0, 2
/* 802E1538 002DE478 40 82 00 10 */ bne lbl_802E1548
/* 802E153C 002DE47C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 802E1540 002DE480 60 00 00 01 */ ori r0, r0, 1
/* 802E1544 002DE484 48 00 00 18 */ b lbl_802E155C
lbl_802E1548:
/* 802E1548 002DE488 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 802E154C 002DE48C 4C 41 13 82 */ cror 2, 1, 2
/* 802E1550 002DE490 40 82 00 0C */ bne lbl_802E155C
/* 802E1554 002DE494 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 802E1558 002DE498 60 00 00 02 */ ori r0, r0, 2
lbl_802E155C:
/* 802E155C 002DE49C C0 43 00 04 */ lfs f2, 4(r3)
/* 802E1560 002DE4A0 FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802E1564 002DE4A4 40 80 00 14 */ bge lbl_802E1578
/* 802E1568 002DE4A8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E156C 002DE4AC 40 80 00 0C */ bge lbl_802E1578
/* 802E1570 002DE4B0 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 802E1574 002DE4B4 48 00 00 38 */ b lbl_802E15AC
lbl_802E1578:
/* 802E1578 002DE4B8 C0 2D 83 60 */ lfs f1, lbl_804508E0-_SDA_BASE_(r13)
/* 802E157C 002DE4BC FC 00 08 50 */ fneg f0, f1
/* 802E1580 002DE4C0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E1584 002DE4C4 4C 40 13 82 */ cror 2, 0, 2
/* 802E1588 002DE4C8 40 82 00 10 */ bne lbl_802E1598
/* 802E158C 002DE4CC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 802E1590 002DE4D0 60 00 00 04 */ ori r0, r0, 4
/* 802E1594 002DE4D4 48 00 00 18 */ b lbl_802E15AC
lbl_802E1598:
/* 802E1598 002DE4D8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E159C 002DE4DC 4C 41 13 82 */ cror 2, 1, 2
/* 802E15A0 002DE4E0 40 82 00 0C */ bne lbl_802E15AC
/* 802E15A4 002DE4E4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 802E15A8 002DE4E8 60 00 00 08 */ ori r0, r0, 8
lbl_802E15AC:
/* 802E15AC 002DE4EC 7C 03 03 78 */ mr r3, r0
/* 802E15B0 002DE4F0 4E 80 00 20 */ blr