INL-retro-progdump/host/source/cartridge.h

53 lines
1.3 KiB
C

#ifndef _cartridge_h
#define _cartridge_h
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <errno.h>
//include prior to other file includes
//that way DEBUG can be turned on/off for this file alone
//uncomment to DEBUG this file alone
#define DEBUG
//"make debug" to get DEBUG msgs on entire program
#include "dbg.h"
#include "usb_operations.h"
#include "shared_errors.h"
#include "shared_dictionaries.h"
#include "dictionary.h"
#include "enums.h"
#include "io.h"
#include "nes.h"
#include "snes.h"
#include "memory.h"
//cartridge object/struct
typedef struct cartridge{
int console; //console the cart plays in
int mapper; //mapper number of the board
int submap;
int mapvariant;
int manf;
int product;
int mirroring;
int sound;
memory *pri_rom; //main executable rom (PRG-ROM for NES)
memory *sec_rom; //secondary rom if used (CHR-ROM for NES)
memory *save_mem; //save data memory
memory *aux_mem; //additional memory
memory *logic_mem; //programmable logic
} cartridge;
int init_cart_elements( cartridge *cart );
int detect_console( cartridge *cart, USBtransfer *transfer );
int detect_mirroring( cartridge *cart, USBtransfer *transfer );
int detect_map_mem( cartridge *cart, USBtransfer *transfer, int oper );
#endif