int se5_bin_attach(const char *filename, BYTE *rawcart) { if (util_file_load(filename, rawcart, SE5_CART_SIZE, UTIL_FILE_LOAD_SKIP_ADDRESS) < 0) { return -1; } return se5_common_attach(); }
int se5_crt_attach(FILE *fd, BYTE *rawcart) { crt_chip_header_t chip; int i, cnt = 0; for (i = 0; i <= 0x01; i++) { if (crt_read_chip_header(&chip, fd)) { break; } if (chip.bank > 0x1f || chip.size != 0x2000) { return -1; } if (crt_read_chip(rawcart, chip.bank << 13, &chip, fd)) { return -1; } cnt++; } return se5_common_attach(); }
int se5_crt_attach(FILE *fd, BYTE *rawcart) { BYTE chipheader[0x10]; int i, cnt = 0; for (i = 0; i <= 0x01; i++) { if (fread(chipheader, 0x10, 1, fd) < 1) { break; } if (chipheader[0xb] > 0x1f) { return -1; } if (fread(&rawcart[chipheader[0xb] << 13], 0x2000, 1, fd) < 1) { return -1; } cnt++; } return se5_common_attach(); }