static RBinInfo* info(RBinFile *arch) { ut8 rom_header[76]; RBinInfo *ret = R_NEW0 (RBinInfo); if (!ret) return NULL; if (!arch || !arch->buf) { free (ret); return NULL; } ret->lang = NULL; r_buf_read_at (arch->buf,0x104,rom_header,76); strncpy (ret->file, (const char*)&rom_header[48], 16); gb_get_gbtype (ret->type,rom_header[66],rom_header[63]); gb_add_cardtype (ret->type,rom_header[67]); // XXX strncpy (ret->machine, "Gameboy", sizeof (ret->machine)-1); strncpy (ret->os, "any", sizeof (ret->os)-1); strcpy (ret->arch, "gb"); ret->has_va = 1; ret->bits = 8; ret->big_endian = 0; ret->dbg_info = 0; return ret; }
static RBinInfo* info(RBinFile *arch) { ut8 rom_header[76]; RBinInfo *ret = R_NEW0 (RBinInfo); if (!ret) return NULL; if (!arch || !arch->buf) { free (ret); return NULL; } r_buf_read_at (arch->buf, 0x104, rom_header, 76); ret->file = calloc (1, 17); strncpy (ret->file, (const char*)&rom_header[48], 16); ret->type = malloc (128); ret->type[0] = 0; gb_get_gbtype (ret->type, rom_header[66], rom_header[63]); gb_add_cardtype (ret->type, rom_header[67]); // XXX ret->machine = strdup ("Gameboy"); ret->os = strdup ("any"); ret->arch = strdup ("gb"); ret->has_va = 1; ret->bits = 16; ret->big_endian = 0; ret->dbg_info = 0; return ret; }