Go to the documentation of this file.00001
00002 #ifndef INES_CONVERT_20080314_H_
00003 #define INES_CONVERT_20080314_H_
00004
00005 #ifdef __cplusplus
00006 extern "C"{
00007 #endif
00008
00009 #include "unif_types.h"
00010
00011 #include <stdio.h>
00012
00013 typedef enum {
00014 CART_UNIF,
00015 CART_INES,
00016 CART_INVALID
00017 } CART_TYPE;
00018
00019 typedef struct {
00020 int has_chr_rom;
00021 uint8_t ines_number;
00022 int four_screen;
00023 } ines_info_t;
00024
00025 typedef struct {
00026 const char *board_name;
00027 uint8_t ines_number;
00028 int chr_rom;
00029 int four_screen;
00030 } mapr_num_table_t;
00031
00032 void make_unif_file_from_nes(const char *unif_file, const char *ines_file);
00033 void get_ines_mapper(const char *board_name, ines_info_t *info);
00034 CART_TYPE get_cart_type(const char *filename);
00035
00036 UNIF_RETURN_CODE write_header(FILE *file);
00037 UNIF_RETURN_CODE write_mapr(FILE *file);
00038 UNIF_RETURN_CODE write_name(FILE *file);
00039 UNIF_RETURN_CODE write_prg(FILE *file, uint8_t *prg_code, size_t size);
00040 UNIF_RETURN_CODE write_chr(FILE *file, uint8_t *chr_code, size_t size);
00041 UNIF_RETURN_CODE write_read(FILE *file);
00042 UNIF_RETURN_CODE write_tvsc(FILE *file);
00043 UNIF_RETURN_CODE write_dinf(FILE *file);
00044 UNIF_RETURN_CODE write_batr(FILE *file);
00045 UNIF_RETURN_CODE write_pck(FILE *file, uint8_t *prg_code, size_t size);
00046 UNIF_RETURN_CODE write_cck(FILE *file, uint8_t *chr_code, size_t size);
00047
00048 #ifdef __cplusplus
00049 }
00050 #endif
00051
00052 #endif
00053