SSBM Decomp
Loading...
Searching...
No Matches
hsd_3AA7.c File Reference
#include "hsd_3AA7.h"
#include "hsd_3A94.h"
#include "hsd_3B2E.h"
#include <dolphin/card.h>
#include <dolphin/os.h>

Data Structures

struct  CardBufEntry
 

Functions

s32 fn_803AC168 (s32 *cmd_buf)
 fn_803AA790
 
void fn_803AC258 (s32 card_state, s32 block_idx)
 
void fn_803AC2A4 (s32 card_state)
 
void fn_803AC2D4 (void)
 
void fn_803AC2E0 (void)
 
void fn_803AC334 (void)
 
int hsd_803AC340 (void *header)
 
void hsd_803AC3E0 (struct hsd_803AC3E0_arg0_t *file_desc, int file_idx, int file_size, int file_offset, int file_flags)
 
u32 fn_803AC634 (struct hsd_803AC3E0_arg0_t *file_desc, s32 file_idx)
 fn_803AC3F8
 
s32 fn_803ACB74 (s32 seq_a, s32 seq_b)
 fn_803AC6B8
 
s32 fn_803ACBE8 (CardState *state, s32 block_idx)
 
s32 fn_803ACC0C (CardState *state, s32 block_idx, s32 file_id, s32 seq_num, void *expected_data, s32 data_size)
 
s32 fn_803ACD58 (CardState *state, void *icon_data, void *file_data)
 
s32 fn_803ACF30 (CardState *state, s32 file_id, s32 seq_num, s32 version)
 
s32 fn_803ACFC0 (CardState *state, s32 block_idx, s32 file_id, s32 seq_num, void *payload, s32 payload_size, s32 version)
 
s32 fn_803ADE4C (s32 card_state, s32 channel, s32 callback)
 fn_803AD16C
 
s32 fn_803B1F78 (CardState *state, s32 channel, s32 file_id, s32 seq_num, s32 callback)
 fn_803ADF90
 
s32 fn_803B21E8 (s32 card_state, s32 file_id, s32 seq_num, s32 callback)
 
void hsd_803B24E4 (s32 *ctx, int channel, int file_no, void *work_buf)
 hsd_803B2374
 
s32 hsd_803B2674 (CardState *state)
 hsd_803B2550
 
s32 fn_803B26CC (CardState *state, s32 file_id, s32 seq_num, s32 version, s32 callback)
 

Variables

static s32 hsd_804D7980
 
static volatile s32 hsd_804D7984
 
static s32 hsd_804D7998
 
static s32 hsd_804D799C
 

Function Documentation

◆ fn_803AC168()

s32 fn_803AC168 ( s32 cmd_buf)

fn_803AA790

hsd_803AAA48

Todo:
Currently 91.67% match - volatile load scheduling in critical section

◆ fn_803AC258()

void fn_803AC258 ( s32  card_state,
s32  block_idx 
)

◆ fn_803AC2A4()

void fn_803AC2A4 ( s32  card_state)

◆ fn_803AC2D4()

void fn_803AC2D4 ( void  )

◆ fn_803AC2E0()

void fn_803AC2E0 ( void  )

◆ fn_803AC334()

void fn_803AC334 ( void  )

◆ hsd_803AC340()

int hsd_803AC340 ( void *  header)
Todo:
Currently 99.50% match - return expression register allocation (add dest r6 vs r3)

◆ hsd_803AC3E0()

void hsd_803AC3E0 ( struct hsd_803AC3E0_arg0_t file_desc,
int  file_idx,
int  file_size,
int  file_offset,
int  file_flags 
)

◆ fn_803AC634()

u32 fn_803AC634 ( struct hsd_803AC3E0_arg0_t file_desc,
s32  file_idx 
)

fn_803AC3F8

hsd_803AC558

Todo:
Currently 97.73% match - register allocation in arg1==0 path

◆ fn_803ACB74()

s32 fn_803ACB74 ( s32  seq_a,
s32  seq_b 
)

◆ fn_803ACBE8()

s32 fn_803ACBE8 ( CardState state,
s32  block_idx 
)
Todo:
Currently 75.56% match - mwcc reassociates addition order

◆ fn_803ACC0C()

s32 fn_803ACC0C ( CardState state,
s32  block_idx,
s32  file_id,
s32  seq_num,
void *  expected_data,
s32  data_size 
)
Todo:
Currently 95.90% match - arg0/arg1 register swap (r27/r22 vs r26/r27)

◆ fn_803ACD58()

s32 fn_803ACD58 ( CardState state,
void *  icon_data,
void *  file_data 
)
Todo:
Currently 95.49% match - compiler hoists state+0x370 to r31, shifting regalloc

◆ fn_803ACF30()

s32 fn_803ACF30 ( CardState state,
s32  file_id,
s32  seq_num,
s32  version 
)
Todo:
Currently 93.89% match - mwcc reassociates addition order in loop cond

◆ fn_803ACFC0()

s32 fn_803ACFC0 ( CardState state,
s32  block_idx,
s32  file_id,
s32  seq_num,
void *  payload,
s32  payload_size,
s32  version 
)
Todo:
Currently 87.18% match - expression ordering and stbx vs stb+disp in byte stores

◆ fn_803ADE4C()

s32 fn_803ADE4C ( s32  card_state,
s32  channel,
s32  callback 
)

fn_803AD16C

Todo:
Currently 93.46% match - stwx vs stw+disp in rollback, reg swap in 2nd path

◆ fn_803B1F78()

s32 fn_803B1F78 ( CardState state,
s32  channel,
s32  file_id,
s32  seq_num,
s32  callback 
)

fn_803ADF90

fn_803AE7F8 fn_803AF3F0 fn_803B0120 fn_803B0E9C fn_803B1338

Todo:
Currently 90.28% match - stwx vs stw+disp in rollback (same as fn_803ADE4C)

◆ fn_803B21E8()

s32 fn_803B21E8 ( s32  card_state,
s32  file_id,
s32  seq_num,
s32  callback 
)
Todo:
Currently 94.85% match - stwx vs stw+disp in rollback (same as fn_803ADE4C)

◆ hsd_803B24E4()

void hsd_803B24E4 ( s32 ctx,
int  channel,
int  file_no,
void *  work_buf 
)

◆ hsd_803B2674()

s32 hsd_803B2674 ( CardState state)

hsd_803B2550

Todo:
Currently 90.00% match - same regalloc issue as fn_803ACBE8

◆ fn_803B26CC()

s32 fn_803B26CC ( CardState state,
s32  file_id,
s32  seq_num,
s32  version,
s32  callback 
)
Todo:
Currently 87.04% match - result saved to r27 instead of staying in r3

Variable Documentation

◆ hsd_804D7980

s32 hsd_804D7980
static

◆ hsd_804D7984

volatile s32 hsd_804D7984
static

◆ hsd_804D7998

s32 hsd_804D7998
static

◆ hsd_804D799C

s32 hsd_804D799C
static