11#include <common.h>
22
3- // TODO: Name function, add symbol
3+ // TODO: Name function, add symbol (MEMCARD_GetStageResult)
44int FUN_8003ddac (void )
55{
66 int readResult ;
77 int event ;
88 int iVar4 ;
99 int * ptrData ;
1010
11- switch (sdata -> unk_card_8008D404 )
11+ switch (sdata -> memcard_stage )
1212 {
1313
14- case 1 :
14+ // after checking info
15+ case MC_STAGE_GETINFO :
1516
1617 event = MEMCARD_GetNextSwEvent ();
1718
@@ -22,7 +23,7 @@ int FUN_8003ddac(void)
2223 if ((sdata -> memcardStatusFlags & 1 ) != 0 )
2324 {
2425 // allow the "switch" statement to go to stage 2
25- sdata -> unk_card_8008D404 = 2 ;
26+ sdata -> memcard_stage = 2 ;
2627
2728 // do something wtih both memcards if they're present,
2829 MEMCARD_SkipEvents ();
@@ -47,24 +48,24 @@ int FUN_8003ddac(void)
4748 {
4849 if (event != 7 )
4950 {
50- sdata -> unk_card_8008D404 = 0 ;
51+ sdata -> memcard_stage = 0 ;
5152
5253 sdata -> memoryCard_SizeRemaining = 0 ;
5354
5455 return event ;
5556 }
5657 return 7 ;
5758 }
58- MEMCARD_SkipEvents ();
59- while (_card_clear (sdata -> memcardSlot ) != 1 )
60- ;
59+
60+ MEMCARD_SkipEvents ();
61+ while (_card_clear (sdata -> memcardSlot ) != 1 );
62+
6163 event = MEMCARD_WaitForHwEvent ();
6264 if (event == 0 )
6365 {
64- sdata -> unk_card_8008D404 = 2 ;
66+ sdata -> memcard_stage = 2 ;
6567 MEMCARD_SkipEvents ();
66- while (_card_load (sdata -> memcardSlot ) != 1 )
67- ;
68+ while (_card_load (sdata -> memcardSlot ) != 1 );
6869 return 7 ;
6970 }
7071 }
@@ -77,7 +78,7 @@ int FUN_8003ddac(void)
7778
7879 if (event == 0 )
7980 {
80- sdata -> unk_card_8008D404 = 0 ;
81+ sdata -> memcard_stage = 0 ;
8182 sdata -> memcardStatusFlags = sdata -> memcardStatusFlags & 0xfffffffe | 2 ;
8283
8384 MEMCARD_GetFreeBytes (sdata -> memcardSlot );
@@ -86,7 +87,7 @@ int FUN_8003ddac(void)
8687 }
8788 if (event == 3 )
8889 {
89- sdata -> unk_card_8008D404 = 0 ;
90+ sdata -> memcard_stage = 0 ;
9091 sdata -> memcardStatusFlags = sdata -> memcardStatusFlags & 0xfffffffc ;
9192 return 5 ;
9293 }
@@ -95,7 +96,7 @@ int FUN_8003ddac(void)
9596 return 7 ;
9697 }
9798 LAB_8003df38 :
98- sdata -> unk_card_8008D404 = 0 ;
99+ sdata -> memcard_stage = 0 ;
99100 break ;
100101
101102 case 3 :
@@ -105,7 +106,7 @@ int FUN_8003ddac(void)
105106 if (event == 0 )
106107 {
107108 // allow "switch" statement to go to stage 4
108- sdata -> unk_card_8008D404 = 4 ;
109+ sdata -> memcard_stage = 4 ;
109110
110111 // Bitwise & with 0xf to extract last 4 bits then increment by 1
111112 sdata -> memcardIconSize = ((sdata -> memcard_ptrStart [2 ] & 0xf ) + 1 ) * 0x80 ;
@@ -149,7 +150,7 @@ int FUN_8003ddac(void)
149150 {
150151 sdata -> crc16_checkpoint_byteIndex = 0 ;
151152 sdata -> crc16_checkpoint_status = 0 ;
152- sdata -> unk_card_8008D404 = sdata -> unk_card_8008D404 + 1 ;
153+ sdata -> memcard_stage = sdata -> memcard_stage + 1 ;
153154 if ((sdata -> memcardStatusFlags & 8 ) == 0 )
154155 {
155156 sdata -> crc16_checkpoint_byteIndex = 0 ;
@@ -166,7 +167,7 @@ int FUN_8003ddac(void)
166167
167168 if (sdata -> memcard_remainingAttempts > 0 )
168169 {
169- iVar4 = sdata -> memcardIconSize + (sdata -> unk_card_8008D404 - 4 ) * sdata -> memoryCardFileSize_0x1680 ;
170+ iVar4 = sdata -> memcardIconSize + (sdata -> memcard_stage - 4 ) * sdata -> memoryCardFileSize_0x1680 ;
170171 event = sdata -> memoryCardFileSize_0x1680 ;
171172
172173 sdata -> memcard_remainingAttempts = sdata -> memcard_remainingAttempts + -1 ;
@@ -193,12 +194,12 @@ int FUN_8003ddac(void)
193194
194195 // at this point, assume checksum succeeded (return 1)
195196
196- if (((sdata -> memcardStatusFlags & 4 ) == 0 ) && (sdata -> unk_card_8008D404 < 7 ))
197+ if (((sdata -> memcardStatusFlags & 4 ) == 0 ) && (sdata -> memcard_stage < 7 ))
197198 {
198199 // Make "switch" statement go to "next" stage
199- sdata -> unk_card_8008D404 = sdata -> unk_card_8008D404 + 1 ;
200+ sdata -> memcard_stage = sdata -> memcard_stage + 1 ;
200201
201- iVar4 = sdata -> memcardIconSize + (sdata -> unk_card_8008D404 - 4 ) * sdata -> memoryCardFileSize_0x1680 ;
202+ iVar4 = sdata -> memcardIconSize + (sdata -> memcard_stage - 4 ) * sdata -> memoryCardFileSize_0x1680 ;
202203 event = sdata -> memoryCardFileSize_0x1680 ;
203204 READCARD_JUMP :
204205
@@ -219,7 +220,7 @@ int FUN_8003ddac(void)
219220
220221 if (event == 0 )
221222 {
222- if ((sdata -> unk_card_8008D404 != 9 ) && ((10 < sdata -> unk_card_8008D404 || ((sdata -> memcardStatusFlags & 4 ) != 0 ))))
223+ if ((sdata -> memcard_stage != 9 ) && ((10 < sdata -> memcard_stage || ((sdata -> memcardStatusFlags & 4 ) != 0 ))))
223224 {
224225 MEMCARD_CloseFile ();
225226
@@ -228,10 +229,10 @@ int FUN_8003ddac(void)
228229 return 0 ;
229230 }
230231
231- sdata -> unk_card_8008D404 = sdata -> unk_card_8008D404 + 1 ;
232+ sdata -> memcard_stage = sdata -> memcard_stage + 1 ;
232233
233234 LAB_8003e1e4 :
234- event = sdata -> unk_card_8008D404 - 10 ;
235+ event = sdata -> memcard_stage - 10 ;
235236 iVar4 = sdata -> memcardIconSize + event * sdata -> memoryCardFileSize_0x1680 ;
236237
237238 // pointer to memory card bytes
@@ -256,7 +257,7 @@ int FUN_8003ddac(void)
256257 goto CLOSEFILE_JUMP ;
257258
258259 sdata -> memcard_remainingAttempts = iVar4 ;
259- if (sdata -> unk_card_8008D404 != 9 )
260+ if (sdata -> memcard_stage != 9 )
260261 goto LAB_8003e1e4 ;
261262
262263 iVar4 = 0 ;
@@ -272,11 +273,11 @@ int FUN_8003ddac(void)
272273 event = MEMCARD_WriteFile (iVar4 , ptrData , event );
273274 break ;
274275 case 13 :
275- sdata -> unk_card_8008D404 = 0 ;
276+ sdata -> memcard_stage = 0 ;
276277 event = 1 ;
277278 break ;
278279 case 14 :
279- sdata -> unk_card_8008D404 = 0 ;
280+ sdata -> memcard_stage = 0 ;
280281 event = 0 ;
281282 }
282283 return event ;
0 commit comments