SSBM Decomp
Loading...
Searching...
No Matches
card.h File Reference
#include <platform.h>
#include <dolphin/card/forward.h>
#include <dolphin/dsp/dsp.h>
#include <dolphin/dvd/dvd.h>
#include <dolphin/os/OSAlarm.h>
#include <dolphin/os/OSExi.h>
#include <dolphin/os/OSThread.h>

Go to the source code of this file.

Data Structures

struct  CARDFileInfo
 
struct  CARDDir
 
struct  CARDDirCheck
 
struct  CARDControl
 
struct  CARDID
 

Macros

#define CARD_FAT_CHECKSUM   0
 
#define CARD_FAT_CHECKSUMINV   1
 
#define CARD_FAT_CHECKCODE   2
 
#define CARD_FAT_FREEBLOCKS   3
 
#define CARD_FAT_LASTSLOT   4
 
#define CARD_FAT_AVAIL   0
 
#define CARD_RESULT_UNLOCKED   1
 
#define CARD_RESULT_READY   0
 
#define CARD_RESULT_BUSY   -1
 
#define CARD_RESULT_WRONGDEVICE   -2
 
#define CARD_RESULT_NOCARD   -3
 
#define CARD_RESULT_NOFILE   -4
 
#define CARD_RESULT_IOERROR   -5
 
#define CARD_RESULT_BROKEN   -6
 
#define CARD_RESULT_EXIST   -7
 
#define CARD_RESULT_NOENT   -8
 
#define CARD_RESULT_INSSPACE   -9
 
#define CARD_RESULT_NOPERM   -10
 
#define CARD_RESULT_LIMIT   -11
 
#define CARD_RESULT_NAMETOOLONG   -12
 
#define CARD_RESULT_ENCODING   -13
 
#define CARD_RESULT_CANCELED   -14
 
#define CARD_RESULT_FATAL_ERROR   -128
 
#define CARD_NUM_SYSTEM_BLOCK   5
 
#define CARD_WORKAREA_SIZE   (5 * 8 * 1024)
 
#define CARD_SYSTEM_BLOCK_SIZE   (8 * 1024)
 
#define CARD_READ_SIZE   512
 
#define CARD_MAX_FILE   127
 
#define CARD_COMMENT_SIZE   64
 
#define CARD_FILENAME_MAX   32
 
#define CARD_ICON_MAX   8
 
#define CARD_ICON_WIDTH   32
 
#define CARD_ICON_HEIGHT   32
 
#define CARD_BANNER_WIDTH   96
 
#define CARD_BANNER_HEIGHT   32
 
#define CARD_STAT_ICON_NONE   0
 
#define CARD_STAT_ICON_C8   1
 
#define CARD_STAT_ICON_RGB5A3   2
 
#define CARD_STAT_ICON_MASK   3
 
#define CARD_STAT_BANNER_NONE   0
 
#define CARD_STAT_BANNER_C8   1
 
#define CARD_STAT_BANNER_RGB5A3   2
 
#define CARD_STAT_BANNER_MASK   3
 
#define CARD_STAT_ANIM_LOOP   0x00
 
#define CARD_STAT_ANIM_BOUNCE   0x04
 
#define CARD_STAT_ANIM_MASK   0x04
 
#define CARD_STAT_SPEED_END   0
 
#define CARD_STAT_SPEED_FAST   1
 
#define CARD_STAT_SPEED_MIDDLE   2
 
#define CARD_STAT_SPEED_SLOW   3
 
#define CARD_STAT_SPEED_MASK   3
 
#define CARD_MAX_MOUNT_STEP   (CARD_NUM_SYSTEM_BLOCK + 2)
 
#define CARD_PAGE_SIZE   128
 
#define CARD_SEG_SIZE   512
 
#define CARD_STAT_SPEED_END   0
 
#define CARD_STAT_SPEED_FAST   1
 
#define CARD_STAT_SPEED_MIDDLE   2
 
#define CARD_STAT_SPEED_SLOW   3
 
#define CARD_STAT_SPEED_MASK   3
 
#define CARD_ATTR_PUBLIC   0x04
 
#define CARD_ATTR_NO_COPY   0x08
 
#define CARD_ATTR_NO_MOVE   0x10
 
#define CARD_ATTR_GLOBAL   0x20
 
#define CARD_ATTR_COMPANY   0x40
 
#define __CARDGetDirCheck(dir)   ((CARDDirCheck*) &(dir)[CARD_MAX_FILE])
 
#define CARDIsValidBlockNo(card, iBlock)    (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock)
 

Functions

s32 CARDClose (CARDFileInfo *)
 
int CARDWrite (CARDFileInfo *, void *buf, s32 length, s32 offset)
 
int CARDRead (CARDFileInfo *, void *buf, u32 length, u32 offset)
 
s32 __CARDClearStatus (s32 chan)
 
s32 __CARDReadStatus (s32 chan, u8 *status)
 
static s32 Retry (s32 chan)
 
CARDDir__CARDGetDirBlock (CARDControl *)
 
u16__CARDGetFatBlock (CARDControl *card)
 
s32 __CARDUpdateFatBlock (s32 chan, u16 *fat, CARDCallback)
 
void __CARDDefaultApiCallback (s32 chan, s32 result)
 
void __CARDSyncCallback (s32, s32)
 

Variables

CARDControl __CARDBlock [2]
 

Macro Definition Documentation

◆ CARD_FAT_CHECKSUM

#define CARD_FAT_CHECKSUM   0

◆ CARD_FAT_CHECKSUMINV

#define CARD_FAT_CHECKSUMINV   1

◆ CARD_FAT_CHECKCODE

#define CARD_FAT_CHECKCODE   2

◆ CARD_FAT_FREEBLOCKS

#define CARD_FAT_FREEBLOCKS   3

◆ CARD_FAT_LASTSLOT

#define CARD_FAT_LASTSLOT   4

◆ CARD_FAT_AVAIL

#define CARD_FAT_AVAIL   0

◆ CARD_RESULT_UNLOCKED

#define CARD_RESULT_UNLOCKED   1

◆ CARD_RESULT_READY

#define CARD_RESULT_READY   0

◆ CARD_RESULT_BUSY

#define CARD_RESULT_BUSY   -1

◆ CARD_RESULT_WRONGDEVICE

#define CARD_RESULT_WRONGDEVICE   -2

◆ CARD_RESULT_NOCARD

#define CARD_RESULT_NOCARD   -3

◆ CARD_RESULT_NOFILE

#define CARD_RESULT_NOFILE   -4

◆ CARD_RESULT_IOERROR

#define CARD_RESULT_IOERROR   -5

◆ CARD_RESULT_BROKEN

#define CARD_RESULT_BROKEN   -6

◆ CARD_RESULT_EXIST

#define CARD_RESULT_EXIST   -7

◆ CARD_RESULT_NOENT

#define CARD_RESULT_NOENT   -8

◆ CARD_RESULT_INSSPACE

#define CARD_RESULT_INSSPACE   -9

◆ CARD_RESULT_NOPERM

#define CARD_RESULT_NOPERM   -10

◆ CARD_RESULT_LIMIT

#define CARD_RESULT_LIMIT   -11

◆ CARD_RESULT_NAMETOOLONG

#define CARD_RESULT_NAMETOOLONG   -12

◆ CARD_RESULT_ENCODING

#define CARD_RESULT_ENCODING   -13

◆ CARD_RESULT_CANCELED

#define CARD_RESULT_CANCELED   -14

◆ CARD_RESULT_FATAL_ERROR

#define CARD_RESULT_FATAL_ERROR   -128

◆ CARD_NUM_SYSTEM_BLOCK

#define CARD_NUM_SYSTEM_BLOCK   5

◆ CARD_WORKAREA_SIZE

#define CARD_WORKAREA_SIZE   (5 * 8 * 1024)

◆ CARD_SYSTEM_BLOCK_SIZE

#define CARD_SYSTEM_BLOCK_SIZE   (8 * 1024)

◆ CARD_READ_SIZE

#define CARD_READ_SIZE   512

◆ CARD_MAX_FILE

#define CARD_MAX_FILE   127

◆ CARD_COMMENT_SIZE

#define CARD_COMMENT_SIZE   64

◆ CARD_FILENAME_MAX

#define CARD_FILENAME_MAX   32

◆ CARD_ICON_MAX

#define CARD_ICON_MAX   8

◆ CARD_ICON_WIDTH

#define CARD_ICON_WIDTH   32

◆ CARD_ICON_HEIGHT

#define CARD_ICON_HEIGHT   32

◆ CARD_BANNER_WIDTH

#define CARD_BANNER_WIDTH   96

◆ CARD_BANNER_HEIGHT

#define CARD_BANNER_HEIGHT   32

◆ CARD_STAT_ICON_NONE

#define CARD_STAT_ICON_NONE   0

◆ CARD_STAT_ICON_C8

#define CARD_STAT_ICON_C8   1

◆ CARD_STAT_ICON_RGB5A3

#define CARD_STAT_ICON_RGB5A3   2

◆ CARD_STAT_ICON_MASK

#define CARD_STAT_ICON_MASK   3

◆ CARD_STAT_BANNER_NONE

#define CARD_STAT_BANNER_NONE   0

◆ CARD_STAT_BANNER_C8

#define CARD_STAT_BANNER_C8   1

◆ CARD_STAT_BANNER_RGB5A3

#define CARD_STAT_BANNER_RGB5A3   2

◆ CARD_STAT_BANNER_MASK

#define CARD_STAT_BANNER_MASK   3

◆ CARD_STAT_ANIM_LOOP

#define CARD_STAT_ANIM_LOOP   0x00

◆ CARD_STAT_ANIM_BOUNCE

#define CARD_STAT_ANIM_BOUNCE   0x04

◆ CARD_STAT_ANIM_MASK

#define CARD_STAT_ANIM_MASK   0x04

◆ CARD_STAT_SPEED_END [1/2]

#define CARD_STAT_SPEED_END   0

◆ CARD_STAT_SPEED_FAST [1/2]

#define CARD_STAT_SPEED_FAST   1

◆ CARD_STAT_SPEED_MIDDLE [1/2]

#define CARD_STAT_SPEED_MIDDLE   2

◆ CARD_STAT_SPEED_SLOW [1/2]

#define CARD_STAT_SPEED_SLOW   3

◆ CARD_STAT_SPEED_MASK [1/2]

#define CARD_STAT_SPEED_MASK   3

◆ CARD_MAX_MOUNT_STEP

#define CARD_MAX_MOUNT_STEP   (CARD_NUM_SYSTEM_BLOCK + 2)

◆ CARD_PAGE_SIZE

#define CARD_PAGE_SIZE   128

◆ CARD_SEG_SIZE

#define CARD_SEG_SIZE   512

◆ CARD_STAT_SPEED_END [2/2]

#define CARD_STAT_SPEED_END   0

◆ CARD_STAT_SPEED_FAST [2/2]

#define CARD_STAT_SPEED_FAST   1

◆ CARD_STAT_SPEED_MIDDLE [2/2]

#define CARD_STAT_SPEED_MIDDLE   2

◆ CARD_STAT_SPEED_SLOW [2/2]

#define CARD_STAT_SPEED_SLOW   3

◆ CARD_STAT_SPEED_MASK [2/2]

#define CARD_STAT_SPEED_MASK   3

◆ CARD_ATTR_PUBLIC

#define CARD_ATTR_PUBLIC   0x04

◆ CARD_ATTR_NO_COPY

#define CARD_ATTR_NO_COPY   0x08

◆ CARD_ATTR_NO_MOVE

#define CARD_ATTR_NO_MOVE   0x10

◆ CARD_ATTR_GLOBAL

#define CARD_ATTR_GLOBAL   0x20

◆ CARD_ATTR_COMPANY

#define CARD_ATTR_COMPANY   0x40

◆ __CARDGetDirCheck

#define __CARDGetDirCheck (   dir)    ((CARDDirCheck*) &(dir)[CARD_MAX_FILE])

◆ CARDIsValidBlockNo

#define CARDIsValidBlockNo (   card,
  iBlock 
)     (CARD_NUM_SYSTEM_BLOCK <= (iBlock) && (iBlock) < (card)->cBlock)

Function Documentation

◆ CARDClose()

s32 CARDClose ( CARDFileInfo fileinfo)

◆ CARDWrite()

int CARDWrite ( CARDFileInfo info,
void *  buf,
s32  length,
s32  offset 
)
Todo:
Eliminate cast to CARDCallback.

◆ CARDRead()

int CARDRead ( CARDFileInfo fileinfo,
void *  buf,
u32  length,
u32  offset 
)
Todo:
Eliminate cast to CARDCallback.

◆ __CARDClearStatus()

s32 __CARDClearStatus ( s32  chan)

◆ __CARDReadStatus()

s32 __CARDReadStatus ( s32  chan,
u8 status 
)

◆ Retry()

static s32 Retry ( s32  chan)
static

◆ __CARDGetDirBlock()

CARDDir * __CARDGetDirBlock ( CARDControl card)

◆ __CARDGetFatBlock()

u16 * __CARDGetFatBlock ( CARDControl card)

◆ __CARDUpdateFatBlock()

s32 __CARDUpdateFatBlock ( s32  chan,
u16 fat,
CARDCallback  callback 
)
Todo:
Eliminate cast to CARDCallback.

◆ __CARDDefaultApiCallback()

void __CARDDefaultApiCallback ( s32  chan,
s32  result 
)

◆ __CARDSyncCallback()

void __CARDSyncCallback ( s32  i,
s32  arg1 
)

Variable Documentation

◆ __CARDBlock

CARDControl __CARDBlock[2]
extern