capa | Maximum capacity of media |
drive | Extension socket number |
*work | Work buffer |
func | Initialization complete callback |
BUD_ERR_OK | Normal end | |
BUD_ERR_INVALID_PARAM | Invalid parameter |
The following values can be designated for the argument capa which shows the maximum capacity of media.
BUD_CAPACITY_128KB
BUD_CAPACITY_256KB
BUD_CAPACITY_512KB
BUD_CAPACITY_1MB
Designate the following values in the argument drive that shows the operand extension sockets.
BUD_USE_DRIVE_ALL | All extension sockets |
BUD_USE_DRIVE_A1 | Extension socket 1 on board A |
BUD_USE_DRIVE_A2 | Extension socket 2 on board A |
BUD_USE_DRIVE_B1 | Extension socket 1 on board B |
BUD_USE_DRIVE_B2 | Extension socket 2 on board B |
BUD_USE_DRIVE_C1 | Extension socket 1 on board C |
BUD_USE_DRIVE_C2 | Extension socket 2 on board C |
BUD_USE_DRIVE_D1 | Extension socket 1 on board D |
BUD_USE_DRIVE_D2 | Extension socket 2 on board D |
When NULL is specified in the argument work that marks the work buffer,the setting for the argument capa is ignored and the work buffer for the memory card can be dynamically managed. When initialization is completed successfully, the specified function is called back.
The callback function is called before returning from this function. In this case, after the BUD_OP_CONNECT callback is detected, the application allocates a buffer that is suited for the size of the memory card, and then mount processing is performed by the buMountDisk() function. The backup RAM can then be used in the normal manner afterwards.
This method makes it possible to handle large size memory cards without allocating a large buffer size beforehand.
/* Allocating two buffers for memory cards of up to 128K */ Uint32 work[BUM_WORK_SIZE(BUD_CAPACITY_128KB, 2) / sizeof(Uint32)]; void init_callback(void) { : } /* Corresponds to extension sockets 1 and 2 on board A */ buInit(BUD_CAPACITY_128KB, BUD_USE_DRIVE_A1 | BUD_USE_DRIVE_A2, work, init_callback);
Maximum capacity | Workspace per 1 socket | Workspace by 8 slots |
128KB | 8KB | 64KB |
256KB | 14KB | 112KB |
512KB | 28KB | 220KB |
1MB | 55KB | 440KB |
Specify files used in extension sockets as BUD_USE_DRIVE_XXX. Do not specify BUD_DRIVE_XXX constant by mistake.