mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-06 19:11:21 -04:00
236 lines
7.9 KiB
C++
236 lines
7.9 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: CARDUnlock
|
|
//
|
|
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
#include "dolphin/card/CARDUnlock.h"
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
|
|
// True False
|
|
extern "C" static void bitrev();
|
|
// True False
|
|
extern "C" static void ReadArrayUnlock();
|
|
// True False
|
|
extern "C" static void DummyLen();
|
|
// False False
|
|
extern "C" void __CARDUnlock();
|
|
// True False
|
|
extern "C" static void InitCallback();
|
|
// True False
|
|
extern "C" static void DoneCallback();
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
|
|
// False False
|
|
SECTION_INIT void memset();
|
|
// False False
|
|
extern "C" void DSPAddTask();
|
|
// False False
|
|
extern "C" void DCInvalidateRange();
|
|
// False False
|
|
extern "C" void DCFlushRange();
|
|
// False False
|
|
extern "C" void OSGetTick();
|
|
// False False
|
|
extern "C" void EXIImmEx();
|
|
// False False
|
|
extern "C" void EXIProbe();
|
|
// False False
|
|
extern "C" void EXISelect();
|
|
// False False
|
|
extern "C" void EXIDeselect();
|
|
// False False
|
|
extern "C" void EXIUnlock();
|
|
// False False
|
|
extern "C" void DSPCheckMailToDSP();
|
|
// False False
|
|
extern "C" void DSPSendMailToDSP();
|
|
// False False
|
|
extern "C" void __CARDReadStatus();
|
|
// False False
|
|
extern "C" void __CARDMountCallback();
|
|
extern "C" extern u8 __CARDBlock[544];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 80353F24-80354090 016C+00 s=1 e=0 z=0 None .text bitrev */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
extern "C" asm static void bitrev() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/bitrev.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 80354090-803541D4 0144+00 s=2 e=0 z=0 None .text ReadArrayUnlock */
|
|
// 803540A4: 8044CBC0 (__CARDBlock)
|
|
// 803540A8: 8044CBC0 (__CARDBlock)
|
|
// 803540D0: 80343868 (EXISelect)
|
|
// 803540F4: 80003458 (memset)
|
|
// 8035414C: 80342F5C (EXIImmEx)
|
|
// 8035416C: 80342F5C (EXIImmEx)
|
|
// 8035418C: 80342F5C (EXIImmEx)
|
|
// 803541A0: 80343994 (EXIDeselect)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
extern "C" asm static void ReadArrayUnlock() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/ReadArrayUnlock.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 80450A68-80450A70 0004+04 s=2 e=0 z=0 None .sdata next */
|
|
SECTION_SDATA static u32 next[1 + 1 /* padding */] = {
|
|
0x00000001,
|
|
/* padding */
|
|
0x00000000,
|
|
};
|
|
|
|
/* 803541D4-80354298 00C4+00 s=2 e=0 z=0 None .text DummyLen */
|
|
// 803541F4: 80342714 (OSGetTick)
|
|
// 803541F8: 80450A68 (next)
|
|
// 80354204: 80450A68 (next)
|
|
// 80354210: 80450A68 (next)
|
|
// 80354214: 80450A68 (next)
|
|
// 80354224: 80342714 (OSGetTick)
|
|
// 8035423C: 80450A68 (next)
|
|
// 80354244: 80450A68 (next)
|
|
// 80354250: 80450A68 (next)
|
|
// 80354254: 80450A68 (next)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
extern "C" asm static void DummyLen() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/DummyLen.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 803D1EA0-803D2000 0160+00 s=1 e=0 z=0 None .data CardData */
|
|
SECTION_DATA static u8 CardData[352] = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02, 0xFF, 0x00, 0x21,
|
|
0x13, 0x06, 0x12, 0x03, 0x12, 0x04, 0x13, 0x05, 0x00, 0x92, 0x00, 0xFF, 0x00, 0x88, 0xFF, 0xFF,
|
|
0x00, 0x89, 0xFF, 0xFF, 0x00, 0x8A, 0xFF, 0xFF, 0x00, 0x8B, 0xFF, 0xFF, 0x8F, 0x00, 0x02, 0xBF,
|
|
0x00, 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x02, 0xBF,
|
|
0x00, 0x8E, 0x25, 0xFF, 0x03, 0x80, 0xFF, 0x00, 0x02, 0x94, 0x00, 0x27, 0x02, 0xBF, 0x00, 0x8E,
|
|
0x1F, 0xDF, 0x24, 0xFF, 0x02, 0x40, 0x0F, 0xFF, 0x00, 0x98, 0x04, 0x00, 0x00, 0x9A, 0x00, 0x10,
|
|
0x00, 0x99, 0x00, 0x00, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x94, 0x02, 0xBF, 0x86, 0x44, 0x02, 0xBF,
|
|
0x00, 0x88, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x03, 0x16, 0xFB, 0x00, 0x01, 0x8F, 0x00,
|
|
0x02, 0xBF, 0x00, 0x8E, 0x03, 0x80, 0xCD, 0xD1, 0x02, 0x94, 0x00, 0x48, 0x27, 0xFF, 0x03, 0x80,
|
|
0x00, 0x01, 0x02, 0x95, 0x00, 0x5A, 0x03, 0x80, 0x00, 0x02, 0x02, 0x95, 0x80, 0x00, 0x02, 0x9F,
|
|
0x00, 0x48, 0x00, 0x21, 0x8E, 0x00, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E,
|
|
0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x25, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC5, 0xFF, 0xFF,
|
|
0x03, 0x40, 0x0F, 0xFF, 0x1C, 0x9F, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC7, 0xFF, 0xFF, 0x02, 0xBF,
|
|
0x00, 0x8E, 0x00, 0xC6, 0xFF, 0xFF, 0x02, 0xBF, 0x00, 0x8E, 0x00, 0xC0, 0xFF, 0xFF, 0x02, 0xBF,
|
|
0x00, 0x8E, 0x20, 0xFF, 0x03, 0x40, 0x0F, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x00, 0x8E, 0x21, 0xFF,
|
|
0x02, 0xBF, 0x00, 0x8E, 0x23, 0xFF, 0x12, 0x05, 0x12, 0x06, 0x02, 0x9F, 0x80, 0xB5, 0x00, 0x21,
|
|
0x27, 0xFC, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9D, 0x00, 0x88, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0,
|
|
0x80, 0x00, 0x02, 0x9C, 0x00, 0x8E, 0x02, 0xDF, 0x2E, 0xCE, 0x2C, 0xCF, 0x00, 0xF8, 0xFF, 0xCD,
|
|
0x00, 0xF9, 0xFF, 0xC9, 0x00, 0xFA, 0xFF, 0xCB, 0x26, 0xC9, 0x02, 0xC0, 0x00, 0x04, 0x02, 0x9D,
|
|
0x00, 0x9C, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
/* 80354298-80354DF0 0B58+00 s=0 e=1 z=0 None .text __CARDUnlock */
|
|
// 803542AC: 8044CBC0 (__CARDBlock)
|
|
// 803542B4: 8044CBC0 (__CARDBlock)
|
|
// 803542D8: 80342714 (OSGetTick)
|
|
// 803542DC: 80450A68 (next)
|
|
// 803542E8: 80450A68 (next)
|
|
// 803542FC: 80450A68 (next)
|
|
// 80354300: 80450A68 (next)
|
|
// 80354310: 803541D4 (DummyLen)
|
|
// 8035432C: 80354090 (ReadArrayUnlock)
|
|
// 803544E0: 80353F24 (bitrev)
|
|
// 803544E8: 803541D4 (DummyLen)
|
|
// 80354504: 80354090 (ReadArrayUnlock)
|
|
// 80354D5C: 8033B5AC (DCFlushRange)
|
|
// 80354D68: 8033B580 (DCInvalidateRange)
|
|
// 80354D74: 8033B5AC (DCFlushRange)
|
|
// 80354D7C: 803D1EA0 (CardData)
|
|
// 80354D84: 803D1EA0 (CardData)
|
|
// 80354D94: 80354DF0 (InitCallback)
|
|
// 80354D9C: 80354E60 (DoneCallback)
|
|
// 80354DA8: 80354DF0 (InitCallback)
|
|
// 80354DAC: 80354E60 (DoneCallback)
|
|
// 80354DC8: 8029EA00 (DSPAddTask)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
extern "C" asm void __CARDUnlock() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/__CARDUnlock.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 80354DF0-80354E60 0070+00 s=1 e=0 z=0 None .text InitCallback */
|
|
// 80354DF4: 8044CBC0 (__CARDBlock)
|
|
// 80354DFC: 8044CBC0 (__CARDBlock)
|
|
// 80354E28: 80352468 (DSPSendMailToDSP)
|
|
// 80354E2C: 80352430 (DSPCheckMailToDSP)
|
|
// 80354E3C: 80352468 (DSPSendMailToDSP)
|
|
// 80354E40: 80352430 (DSPCheckMailToDSP)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
extern "C" asm static void InitCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/InitCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 80354E60-80355184 0324+00 s=1 e=0 z=0 None .text DoneCallback */
|
|
// 80354E64: 8044CBC0 (__CARDBlock)
|
|
// 80354E6C: 8044CBC0 (__CARDBlock)
|
|
// 80354EC4: 803541D4 (DummyLen)
|
|
// 80354EE8: 80354090 (ReadArrayUnlock)
|
|
// 80354EF8: 8034411C (EXIUnlock)
|
|
// 80354F04: 8035701C (__CARDMountCallback)
|
|
// 803550B8: 803541D4 (DummyLen)
|
|
// 803550DC: 80354090 (ReadArrayUnlock)
|
|
// 803550EC: 8034411C (EXIUnlock)
|
|
// 803550F8: 8035701C (__CARDMountCallback)
|
|
// 80355108: 80352E44 (__CARDReadStatus)
|
|
// 80355114: 8034356C (EXIProbe)
|
|
// 80355124: 8034411C (EXIUnlock)
|
|
// 80355130: 8035701C (__CARDMountCallback)
|
|
// 80355150: 8034411C (EXIUnlock)
|
|
// 80355160: 8035701C (__CARDMountCallback)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
extern "C" asm static void DoneCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/card/CARDUnlock/DoneCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|