⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infones.h

📁 三星ic 9980的源代码. 718版.
💻 H
字号:
/**************************************************************************************************************** 
 *				                        	                                                 
 *	Project		:	GameCD Player									 
 *	Module		:	Game Emulator								 
 *														 
 *	Copyright	:	(c) 2004, Samsung India Software Operations,					 
 *				All Rights Reserved.								 
 *				This software is the confidential and proprietary information			 
 *				of Samsung Electronics, Inc. (Confidential Information).  You			 
 *				shall not disclose such Confidential Information and shall use			 
 *				it only in accordance with the terms of the license agreement			 
 *				you entered into with Samsung Electronics.					 
 *														 
 *	File		:	Svcd/GEmu/InfoNES.h								 
 *	Date		:	11th of May, 2004								 
 *				                                                                                 
 *	Author(s)	:	             		 	                   			 
 *	           		Vijay Kumar S		-	vijaysk@samsung.com			 
 *	      		 	Girish K S		-	girishks@samsung.com			 
 *	      		 	Chandrasekar R		-	rcsekar@samsung.com			 
 *	      		 	Prem T			-	premt@samsung.com			 
 *				                                                                                 
 *	Department	:	System LSI Division, SISO.                                               
 *				                                                                                 
 *	Platform	:	S5H5002 DVD Player, ARM9TDMI						 
 *	Compiler	:	armcc version 2.5.1								 
 *				                                                                                 
 *	File Desc.	:	Contains the functions prototypes for functions in InfoNES.c                     
 *				                                                                                 
 *	History		:	                                                                                 
 *				                                                                                 
 ****************************************************************************************************************/

/*===================================================================*/
/*                                                                   */
/*  InfoNES.h : NES Emulator for Win32, Linux(x86), Linux(PS2)       */
/*                                                                   */
/*  2000/05/14  InfoNES Project ( based on pNesX )                   */
/*                                                                   */
/*===================================================================*/

#ifndef InfoNES_H_INCLUDED
#define InfoNES_H_INCLUDED

#define USE_VP	/* KBA Defined to select between VP or GA */

/*-------------------------------------------------------------------*/
/*  NES resources                                                    */
/*-------------------------------------------------------------------*/

void Game_copy_mem_sprRam(unsigned int *src);
void InfoNES_pAPUInit(void);
void InfoNES_pAPUVsync(void);
/*------------------------------------------------------------------------------*/
void K6502_Write( register WORD wAddr, register BYTE byData );
void K6502_Write1( register WORD wAddr1, register BYTE byData1 );
void K6502_Write2( register WORD wAddr, register BYTE byData );
void K6502_Write20( register WORD wAddr0, register BYTE byData0 );
void K6502_Write25( register WORD wAddr5, register BYTE byData5 );
void K6502_Write26( register WORD wAddr6, register BYTE byData6 );
void K6502_Write27( register WORD wAddr7, register BYTE byData7 );
void K6502_Write4( register WORD wAddr4, register BYTE byData4 );
void K6502_WriteW( WORD wAddr, WORD wData );



/*----------------------------------------------------------------
 JoyPad  function Prtotype
----------------------------------------------------------------*/
void  InfoNES_JoyPad_init (void);
void InfoNES_JoyPad_ScanKey ( DWORD *pdwPad1, DWORD *pdwPad2);
void  InfoNES_JoyPad_End(void);


/*-------------------------------------------------------------------*/
/*  ROM information                                                  */
/*-------------------------------------------------------------------*/

/* .nes File Header */
struct NesHeader_tag
{
  BYTE byID[ 4 ];
  BYTE byRomSize;
  BYTE byVRomSize;
  BYTE byInfo1;
  BYTE byInfo2;
  BYTE byReserve[ 8 ];
};

struct ApuEvent_t {
  int	type;
  BYTE data;
};


struct value_table_tag
{
  BYTE byValue;
  BYTE byFlag;
};
 BYTE K6502_Read( register WORD wAddr);
 void K6502_Write( register WORD wAddr, register BYTE byData );
 WORD K6502_ReadW( WORD wAddr );
 WORD K6502_ReadW2( WORD wAddr );
 BYTE K6502_ReadZp( BYTE byAddr );
 WORD K6502_ReadZpW( BYTE byAddr );

enum Map1_Size_t
{
  Map1_SMALL,
  Map1_512K,
  Map1_1024K
};

struct MapperTable_tag
{
  int nMapperNo;
//  unsigned long nMapperNo;
  void (*pMapperInit)();
};
/*-------------------------------------------------------------------*/
/*  Function prototypes                                              */
/*-------------------------------------------------------------------*/
/* Load a cassette */
int InfoNES_Load(void);

/* Reset InfoNES */
int InfoNES_Reset(void);

/* Initialize PPU */
void InfoNES_SetupPPU(void);

/* Set up a Mirroring of Name Table */
void InfoNES_Mirroring( int nType );

/* The loop of emulation */
void InfoNES_Cycle(void);

/* A function in H-Sync */
void InfoNES_HSync(void);

/* Render a scanline */
void InfoNES_DrawLine(void);
//void Draw_sprite_Beta();
//void Draw_sprite_alpha();
/* Get a position of scanline hits sprite #0 */
void Gamew_IO_WData32_EX(unsigned char *addr,unsigned int high,unsigned int low);
void Game_Intclr_Scr(unsigned long x);
void Game_Intclr_Pnd(unsigned long x);
void InfoNES_GetSprHitY(void);
void Draw_sprite();
/* Develop character data */
void InfoNES_SetupChr(void);

#endif /* !InfoNES_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -