Files
dusklight/libs/dolphin/card/CARDUnlock.cpp
T
2021-03-31 23:22:38 +02:00

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