ntsc-beta: Decompile joyStopRumble

This commit is contained in:
Ryan Dwyer
2022-10-21 00:07:40 +10:00
parent 43e354a316
commit e28b361cb6
+15 -158
View File
@@ -580,11 +580,6 @@ const char var70054168[] = "osContStartReadData -> Failed - CONT_OVERRUN_ERROR\n
const char var7005419c[] = "joyTickRetrace:joy%derrno%d->%d\n";
const char var700541c0[] = "joyTickRetrace:joy%derrno%d->%d\n";
#if VERSION < VERSION_NTSC_1_0
const char var70055958nb[] = "joy.c";
const char var70055960nb[] = "joy.c";
#endif
s32 joyStartReadData(OSMesgQueue *mq)
{
return osContStartReadData(mq);
@@ -1253,15 +1248,22 @@ void joyGetContpadNumsForPlayer(s8 playernum, s32 *pad1, s32 *pad2)
}
#endif
#if VERSION >= VERSION_NTSC_1_0
void joyStopRumble(s8 device, bool disablepolling)
void joyStopRumble(s8 arg0, bool disablepolling)
{
u32 stack;
if (arg0 != SAVEDEVICE_GAMEPAK) {
#if VERSION >= VERSION_NTSC_1_0
s32 device = arg0;
#else
s32 device = g_Vars.playertojoymap[arg0];
#endif
if (device != SAVEDEVICE_GAMEPAK) {
if (g_Paks[device].type != PAKTYPE_MEMORY && g_Paks[device].type != PAKTYPE_GAMEBOY) {
if (disablepolling) {
#if VERSION >= VERSION_NTSC_1_0
joyDisableCyclicPolling();
#else
joyDisableCyclicPolling(1054, "joy.c");
#endif
}
if (osMotorProbe(&g_PiMesgQueue, PFS(device), device) == 0) {
@@ -1271,7 +1273,11 @@ void joyStopRumble(s8 device, bool disablepolling)
}
if (disablepolling) {
#if VERSION >= VERSION_NTSC_1_0
joyEnableCyclicPolling();
#else
joyEnableCyclicPolling(1066, "joy.c");
#endif
}
if (g_Paks[device].rumblestate != RUMBLESTATE_DISABLED_STOPPING
@@ -1282,156 +1288,7 @@ void joyStopRumble(s8 device, bool disablepolling)
g_Paks[device].rumblettl = -1;
}
}
if (device) {
// empty
}
}
#else
GLOBAL_ASM(
glabel joyStopRumble
/* 162b0: 27bdffd8 */ addiu $sp,$sp,-40
/* 162b4: 00047600 */ sll $t6,$a0,0x18
/* 162b8: 000e7e03 */ sra $t7,$t6,0x18
/* 162bc: 24010004 */ addiu $at,$zero,0x4
/* 162c0: afbf0014 */ sw $ra,0x14($sp)
/* 162c4: afa40028 */ sw $a0,0x28($sp)
/* 162c8: 11e10073 */ beq $t7,$at,.NB00016498
/* 162cc: afa5002c */ sw $a1,0x2c($sp)
/* 162d0: 3c06800a */ lui $a2,0x800a
/* 162d4: 00cf3021 */ addu $a2,$a2,$t7
/* 162d8: 90c6eb9c */ lbu $a2,-0x1464($a2)
/* 162dc: 3c19800a */ lui $t9,0x800a
/* 162e0: 27396870 */ addiu $t9,$t9,0x6870
/* 162e4: 0006c080 */ sll $t8,$a2,0x2
/* 162e8: 0306c023 */ subu $t8,$t8,$a2
/* 162ec: 0018c080 */ sll $t8,$t8,0x2
/* 162f0: 0306c023 */ subu $t8,$t8,$a2
/* 162f4: 0018c0c0 */ sll $t8,$t8,0x3
/* 162f8: 0306c021 */ addu $t8,$t8,$a2
/* 162fc: 0018c0c0 */ sll $t8,$t8,0x3
/* 16300: 03194021 */ addu $t0,$t8,$t9
/* 16304: afa8001c */ sw $t0,0x1c($sp)
/* 16308: 8d020000 */ lw $v0,0x0($t0)
/* 1630c: 24010002 */ addiu $at,$zero,0x2
/* 16310: 10410061 */ beq $v0,$at,.NB00016498
/* 16314: 24010003 */ addiu $at,$zero,0x3
/* 16318: 50410060 */ beql $v0,$at,.NB0001649c
/* 1631c: 8fbf0014 */ lw $ra,0x14($sp)
/* 16320: 10a00006 */ beqz $a1,.NB0001633c
/* 16324: 2404041e */ addiu $a0,$zero,0x41e
/* 16328: 3c057005 */ lui $a1,0x7005
/* 1632c: 24a55958 */ addiu $a1,$a1,0x5958
/* 16330: 0c00581b */ jal joyDisableCyclicPolling
/* 16334: afa60024 */ sw $a2,0x24($sp)
/* 16338: 8fa60024 */ lw $a2,0x24($sp)
.NB0001633c:
/* 1633c: 24010004 */ addiu $at,$zero,0x4
/* 16340: 14c10003 */ bne $a2,$at,.NB00016350
/* 16344: 3c04800a */ lui $a0,0x800a
/* 16348: 10000009 */ beqz $zero,.NB00016370
/* 1634c: 00003825 */ or $a3,$zero,$zero
.NB00016350:
/* 16350: 00065080 */ sll $t2,$a2,0x2
/* 16354: 01465023 */ subu $t2,$t2,$a2
/* 16358: 000a5080 */ sll $t2,$t2,0x2
/* 1635c: 01465021 */ addu $t2,$t2,$a2
/* 16360: 3c0b800a */ lui $t3,0x800a
/* 16364: 256b7658 */ addiu $t3,$t3,0x7658
/* 16368: 000a50c0 */ sll $t2,$t2,0x3
/* 1636c: 014b3821 */ addu $a3,$t2,$t3
.NB00016370:
/* 16370: 2484e5d8 */ addiu $a0,$a0,-6696
/* 16374: 00e02825 */ or $a1,$a3,$zero
/* 16378: 0c01440d */ jal osMotorProbe
/* 1637c: afa60024 */ sw $a2,0x24($sp)
/* 16380: 14400032 */ bnez $v0,.NB0001644c
/* 16384: 8fa60024 */ lw $a2,0x24($sp)
/* 16388: 24010004 */ addiu $at,$zero,0x4
/* 1638c: 14c10003 */ bne $a2,$at,.NB0001639c
/* 16390: 00002825 */ or $a1,$zero,$zero
/* 16394: 10000009 */ beqz $zero,.NB000163bc
/* 16398: 00003825 */ or $a3,$zero,$zero
.NB0001639c:
/* 1639c: 00066080 */ sll $t4,$a2,0x2
/* 163a0: 01866023 */ subu $t4,$t4,$a2
/* 163a4: 000c6080 */ sll $t4,$t4,0x2
/* 163a8: 01866021 */ addu $t4,$t4,$a2
/* 163ac: 3c0d800a */ lui $t5,0x800a
/* 163b0: 25ad7658 */ addiu $t5,$t5,0x7658
/* 163b4: 000c60c0 */ sll $t4,$t4,0x3
/* 163b8: 018d3821 */ addu $a3,$t4,$t5
.NB000163bc:
/* 163bc: 00e02025 */ or $a0,$a3,$zero
/* 163c0: 0c014370 */ jal __osMotorAccess
/* 163c4: afa60024 */ sw $a2,0x24($sp)
/* 163c8: 8fa60024 */ lw $a2,0x24($sp)
/* 163cc: 24010004 */ addiu $at,$zero,0x4
/* 163d0: 00002825 */ or $a1,$zero,$zero
/* 163d4: 14c10003 */ bne $a2,$at,.NB000163e4
/* 163d8: 00067080 */ sll $t6,$a2,0x2
/* 163dc: 10000008 */ beqz $zero,.NB00016400
/* 163e0: 00003825 */ or $a3,$zero,$zero
.NB000163e4:
/* 163e4: 01c67023 */ subu $t6,$t6,$a2
/* 163e8: 000e7080 */ sll $t6,$t6,0x2
/* 163ec: 01c67021 */ addu $t6,$t6,$a2
/* 163f0: 3c0f800a */ lui $t7,0x800a
/* 163f4: 25ef7658 */ addiu $t7,$t7,0x7658
/* 163f8: 000e70c0 */ sll $t6,$t6,0x3
/* 163fc: 01cf3821 */ addu $a3,$t6,$t7
.NB00016400:
/* 16400: 00e02025 */ or $a0,$a3,$zero
/* 16404: 0c014370 */ jal __osMotorAccess
/* 16408: afa60024 */ sw $a2,0x24($sp)
/* 1640c: 8fa60024 */ lw $a2,0x24($sp)
/* 16410: 24010004 */ addiu $at,$zero,0x4
/* 16414: 00002825 */ or $a1,$zero,$zero
/* 16418: 14c10003 */ bne $a2,$at,.NB00016428
/* 1641c: 0006c080 */ sll $t8,$a2,0x2
/* 16420: 10000008 */ beqz $zero,.NB00016444
/* 16424: 00003825 */ or $a3,$zero,$zero
.NB00016428:
/* 16428: 0306c023 */ subu $t8,$t8,$a2
/* 1642c: 0018c080 */ sll $t8,$t8,0x2
/* 16430: 0306c021 */ addu $t8,$t8,$a2
/* 16434: 3c19800a */ lui $t9,0x800a
/* 16438: 27397658 */ addiu $t9,$t9,0x7658
/* 1643c: 0018c0c0 */ sll $t8,$t8,0x3
/* 16440: 03193821 */ addu $a3,$t8,$t9
.NB00016444:
/* 16444: 0c014370 */ jal __osMotorAccess
/* 16448: 00e02025 */ or $a0,$a3,$zero
.NB0001644c:
/* 1644c: 8fa8002c */ lw $t0,0x2c($sp)
/* 16450: 2404042a */ addiu $a0,$zero,0x42a
/* 16454: 3c057005 */ lui $a1,0x7005
/* 16458: 51000004 */ beqzl $t0,.NB0001646c
/* 1645c: 8fa3001c */ lw $v1,0x1c($sp)
/* 16460: 0c005834 */ jal joyEnableCyclicPolling
/* 16464: 24a55960 */ addiu $a1,$a1,0x5960
/* 16468: 8fa3001c */ lw $v1,0x1c($sp)
.NB0001646c:
/* 1646c: 24010006 */ addiu $at,$zero,0x6
/* 16470: 8c620004 */ lw $v0,0x4($v1)
/* 16474: 10410004 */ beq $v0,$at,.NB00016488
/* 16478: 24010007 */ addiu $at,$zero,0x7
/* 1647c: 10410002 */ beq $v0,$at,.NB00016488
/* 16480: 24090005 */ addiu $t1,$zero,0x5
/* 16484: ac690004 */ sw $t1,0x4($v1)
.NB00016488:
/* 16488: 3c01bf80 */ lui $at,0xbf80
/* 1648c: 44812000 */ mtc1 $at,$f4
/* 16490: 00000000 */ sll $zero,$zero,0x0
/* 16494: e46402b4 */ swc1 $f4,0x2b4($v1)
.NB00016498:
/* 16498: 8fbf0014 */ lw $ra,0x14($sp)
.NB0001649c:
/* 1649c: 27bd0028 */ addiu $sp,$sp,0x28
/* 164a0: 03e00008 */ jr $ra
/* 164a4: 00000000 */ sll $zero,$zero,0x0
);
#endif
s32 joy000155b4(s8 device)
{