| 46 | } |
| 47 | |
| 48 | s32 __CARDRead(s32 chan, u32 addr, s32 length, void* dst, CARDCallback callback) |
| 49 | { |
| 50 | CARDControl* card; |
| 51 | card = &__CARDBlock[chan]; |
| 52 | if (!card->attached) |
| 53 | { |
| 54 | return CARD_RESULT_NOCARD; |
| 55 | } |
| 56 | |
| 57 | card->xferCallback = callback; |
| 58 | card->repeat = (int)(length / CARD_SEG_SIZE); |
| 59 | card->addr = addr; |
| 60 | card->buffer = dst; |
| 61 | |
| 62 | return __CARDReadSegment(chan, BlockReadCallback); |
| 63 | } |
| 64 | |
| 65 | static void BlockWriteCallback(s32 chan, s32 result) |
| 66 | { |
no test coverage detected