GBA-Exploader/arm9/source/dsCard.h
ApacheThunder 049f3700d6 Fix 3 in 1 Plus NorFlash
* NorFlash read/write now working for 3 in 1 Plus! Big thanks to
cory1492 for he had managed to make available the version of source code
of gbaldr that had the code needed to make this work. Also thanks to
stl25 for helping test 3in1 Plus support as I do not own a 3 in 1 Plus
myself.

* 64MB roms appear to write to NorFlash correctly with 3 in 1 Plus
however note that this does not mean retail roms that used that size
will work (not without patching anyways). 3 in 1 Plus had 64MB NorFlash
but doen't use normal page switch commands so retail roms will need
patching to use this.

* r4tf bool set to false for SuperCard and Rumble menu disabled for
SuperCard. Program would crash if user attempts to use R shoulder button
to access rumble menu if a SuperCard is inserted and a NDS file for soft
reset was available. This has been fixed by disabling this menu for
SuperCard. The rumble menu will not work as intended for SuperCards
anyways.
* Soft Reset for rumble menu is currently broken. (has been since
initial rebuild). The method the program uses for loading NDS files
likely needs to be rewritten.
* Hitting X after flashing a game to NorFlash on 3 in 1 Plus may cause
hang. The game flashed will still be bootable provided the user power
cycles the console and boots the card as normal. No plans to fix as I'm
unsure why it's happening and it's a minor issue. Hitting X after
switching to NorFlash without flashing anything seems to still work
though. Feel free to create a push request if you managed to fix this.
;)
2024-05-19 02:24:34 -05:00

71 lines
1.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**************************************************************************************************************
* 此文件为 dsCard.h 文件的第二版
* 日期2006年11月27日11点33分 第一版 version 1.0
* 作者aladdin
* CopyRight : EZFlash Group
*
**************************************************************************************************************/
#ifndef NDS_DSCARD_V2_INCLUDE
#define NDS_DSCARD_V2_INCLUDE
#include "nds.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef BYTE
typedef unsigned char BYTE;
#endif
#ifndef WORD
typedef unsigned short WORD;
#endif
#ifndef DWORD
typedef unsigned long DWORD;
#endif
#ifndef BOOL
typedef bool BOOL ;
#endif
// export interface
//---------------------------------------------------
//DS 卡 基本操作
//Arm9 方面基本操作容许ARM7访问slot1
void Enable_Arm7DS(void);
//Arm9 方面基本操作容许ARM9访问slot1
void Enable_Arm9DS(void);
//下面是访问震动卡的函数
#define FlashBase 0x08000000
#define _Ez5PsRAM 0x08000000
void OpenNorWrite();
void CloseNorWrite();
void SetRompage(u16 page);
void SetRampage(u16 page);
void OpenRamWrite();
void CloseRamWrite();
void SetSerialMode();
uint32 ReadNorFlashID();
void chip_reset();
void Block_EraseIntel(u32 blockAdd);
void Block_Erase(u32 blockAdd);
// void ReadNorFlash(u8* pBuf,u32 address,u16 len);
void WriteNorFlashINTEL(u32 address,u8 *buffer,u32 size);
void WriteNorFlash(u32 address,u8 *buffer,u32 size);
void WriteSram(uint32 address, u8* data , uint32 size );
void ReadSram(uint32 address, u8* data , uint32 size );
void SetShake(u16 data);
#ifdef __cplusplus
}
#endif
#endif