📄 infones.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 + -