Files
ti-nesulator/src/include/mappers/manager.h
2012-01-30 23:37:10 +00:00

65 lines
1.6 KiB
C
Executable File

/*
* Mappers manager & facilities - The TI-NESulator Project
* mappers.h
*
* Created by Manoel TRAPIER.
* Copyright (c) 2003-2008 986Corp. All rights reserved.
*
* $LastChangedDate$
* $Author$
* $HeadURL$
* $Revision$
*
*/
#ifndef MAPPERS_H
#define MAPPERS_H
#include <types.h>
#include <stdio.h>
#include <NESCarts.h>
typedef int (*MapperInit) (NesCart * cart);
typedef int (*MapperWriteHook) (register unsigned short Addr,
register unsigned char Value);
typedef int (*MapperIRQ) (int cycledone);
typedef void (*MapperDump) ();
#ifdef __TINES_MAPPERS__
#include <ppu/ppu.h>
#include <memory/manager.h>
#include <os_dependent.h>
extern NesCart *Cart;
/* Available functions for mappers */
#define GETLAST08KBANK(c) ((c->PROMSize>>13)-1)
#define GETLAST16KBANK(c) ((c->PROMSize>>14)-1)
#define GETLAST32KBANK(c) ((c->PROMSize>>15)-1)
void set_vrom_bank_1k(unsigned short addr,int slot);
void set_vrom_bank_2k(unsigned short addr,int slot);
void set_vrom_bank_4k(unsigned short addr,int slot);
void set_vrom_bank_8k(unsigned short addr, int slot);
void set_prom_bank_8k(unsigned short addr,int slot);
void set_prom_bank_16k(unsigned short addr,int slot);
void set_prom_bank_32k(unsigned short addr,int slot);
#else /* __TINES_MAPPERS__ */
/* Available functions outside of mappers */
void mapper_list ();
int mapper_init (NesCart *cart);
extern int (*mapper_irqloop) (int cyclodone);
extern void (*mapper_dump) (FILE *fp);
#endif /* __TINES_MAPPERS__ */
void map_sram(); /* Map SRAM */
void unmap_sram(); /* Unmap SRAM */
#endif