mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-06-02 09:16:49 +02:00
Add support for Slot 2 flashcarts using Compact Flash (#84)
- Supercard CF (SUPERCARDCF) - GBA Media Player CF (MPCF) - M3 Adapter CF (M3CF) - Max Media Dock CF (MMCF)
This commit is contained in:
41
arm9/source/patches/platform/m3cf/M3CFLoaderPlatform.cpp
Normal file
41
arm9/source/patches/platform/m3cf/M3CFLoaderPlatform.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
#include "common.h"
|
||||
#include "M3CFLoaderPlatform.h"
|
||||
|
||||
#define M3_MODE_ROM 8
|
||||
#define M3_MODE_MEDIA 6
|
||||
|
||||
static u16 volatileReadHalfword(u32 addr)
|
||||
{
|
||||
return *((vu16*)addr);
|
||||
}
|
||||
|
||||
static void changeM3Mode(u32 mode)
|
||||
{
|
||||
volatileReadHalfword(0x08e00002);
|
||||
volatileReadHalfword(0x0800000e);
|
||||
volatileReadHalfword(0x08801FFC);
|
||||
volatileReadHalfword(0x0800104A);
|
||||
volatileReadHalfword(0x08800612);
|
||||
volatileReadHalfword(0x08000000);
|
||||
volatileReadHalfword(0x08801B66);
|
||||
volatileReadHalfword(0x08800000 + mode);
|
||||
volatileReadHalfword(0x0800080E);
|
||||
volatileReadHalfword(0x08000000);
|
||||
|
||||
if(mode == M3_MODE_ROM)
|
||||
{
|
||||
volatileReadHalfword(0x080001E4);
|
||||
volatileReadHalfword(0x080001E4);
|
||||
volatileReadHalfword(0x08000188);
|
||||
volatileReadHalfword(0x08000188);
|
||||
}
|
||||
else
|
||||
{
|
||||
volatileReadHalfword(0x09000000);
|
||||
}
|
||||
}
|
||||
|
||||
void M3CFLoaderPlatform::SetCardLocked(bool locked) const
|
||||
{
|
||||
changeM3Mode(locked ? M3_MODE_ROM : M3_MODE_MEDIA);
|
||||
}
|
||||
Reference in New Issue
Block a user