/* goombarom.h - functions to find uncompressed Game Boy ROM images stored within a larger file (e.g. Goomba Color ROMs, TAR archives) Copyright (C) 2014 libertyernie This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . When compiling in Visual Studio, set all goombarom files to compile as C++ code (Properties -> C/C++ -> Advanced -> Compile As.) */ #include /* Finds the (expected) size of a Game Boy ROM, given a pointer to the start of the ROM image. */ unsigned int gb_rom_size(const void* rom_start); /* Finds the first Game Boy ROM in the given data block by looking for the Nintendo logo that shows when you turn the Game Boy on. If no valid data is found, this method will return NULL. */ const void* gb_first_rom(const void* data, size_t length); /* Returns a pointer to the next Game Boy ROM in the data. If the location where the next ROM would be does not contain a valid Nintendo logo at 0x104, this method will return NULL. */ const void* gb_next_rom(const void* data, size_t length, const void* first_rom); /* Returns a copy of the title from the ROM header. If buffer is NULL, the string will be allocated in an internal 16-byte buffer which will be overwritten later. If buffer is not NULL, the title will be copied to buffer, and buffer will be returned. */ const char* gb_get_title(const void* rom, char* buffer);