50 lines
		
	
	
		
			681 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			681 B
		
	
	
	
		
			C++
		
	
	
	
	
	
|  | #include "nes_mapper.h"
 | ||
|  |   | ||
|  | // Mapper 72 (Created by rinao)
 | ||
|  | void MAP72_Reset() | ||
|  | { | ||
|  |   // set CPU bank pointers
 | ||
|  |  // set_CPU_banks(0,1,num_8k_ROM_banks-2,num_8k_ROM_banks-1);
 | ||
|  | 
 | ||
|  |   // set PPU bank pointers
 | ||
|  |   if(num_1k_VROM_banks) | ||
|  |   { | ||
|  |     set_PPU_banks(0,1,2,3,4,5,6,7); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | void MAP72_MemoryWrite(uint16 addr, uint8 data) | ||
|  | { | ||
|  |   uint8 bank = data & 0x0f; | ||
|  |   if (data & 0x80) | ||
|  |   { | ||
|  |     set_CPU_banks(bank*2, bank*2+1,num_8k_ROM_banks-2,num_8k_ROM_banks-1); | ||
|  |   } | ||
|  |   if (data & 0x40) | ||
|  |   { | ||
|  |     set_PPU_banks(bank*8, bank*8+1,bank*8+2,bank*8+3,bank*8+4,bank*8+5,bank*8+6,bank*8+7); | ||
|  |   } | ||
|  | } | ||
|  | void MAP72_Init() | ||
|  | { | ||
|  | 	NES_Mapper->Reset = MAP72_Reset; | ||
|  | 	NES_Mapper->Write = MAP72_MemoryWrite;  | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 |