• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ FUNC函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中FUNC函数的典型用法代码示例。如果您正苦于以下问题:C++ FUNC函数的具体用法?C++ FUNC怎么用?C++ FUNC使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了FUNC函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DRIVER_INIT_MEMBER

DRIVER_INIT_MEMBER(gstriker_state,vgoalsoc)
{
    m_gametype = 3;
    mcu_init();

    m_maincpu->space(AS_PROGRAM).install_write_handler(0x200090, 0x200091, write16_delegate(FUNC(gstriker_state::vbl_toggle_w),this)); // vblank toggle
    m_maincpu->space(AS_PROGRAM).install_read_handler(0x200090, 0x200091, read16_delegate(FUNC(gstriker_state::vbl_toggle_r),this));
}
开发者ID:j26w,项目名称:mame,代码行数:8,代码来源:gstriker.c


示例2: map

void bwidow_state::bwidow_map(address_map &map)
{
	map(0x0000, 0x07ff).ram();
	map(0x2000, 0x27ff).ram().share("vectorram").region("maincpu", 0x2000);
	map(0x2800, 0x5fff).rom();
	map(0x6000, 0x67ff).rw("pokey1", FUNC(pokey_device::read), FUNC(pokey_device::write));
	map(0x6800, 0x6fff).rw("pokey2", FUNC(pokey_device::read), FUNC(pokey_device::write));
	map(0x7000, 0x7000).r(FUNC(bwidow_state::earom_read));
	map(0x7800, 0x7800).portr("IN0");
	map(0x8000, 0x8000).portr("IN3");
	map(0x8800, 0x8800).portr("IN4");
	map(0x8800, 0x8800).w(FUNC(bwidow_state::bwidow_misc_w)); /* coin counters, leds */
	map(0x8840, 0x8840).w("avg", FUNC(avg_device::go_w));
	map(0x8880, 0x8880).w("avg", FUNC(avg_device::reset_w));
	map(0x88c0, 0x88c0).w(FUNC(bwidow_state::irq_ack_w)); /* interrupt acknowledge */
	map(0x8900, 0x8900).w(FUNC(bwidow_state::earom_control_w));
	map(0x8940, 0x897f).w(FUNC(bwidow_state::earom_write));
	map(0x8980, 0x89ed).nopw(); /* watchdog clear */
	map(0x9000, 0xffff).rom();
}
开发者ID:Octocontrabass,项目名称:mame,代码行数:20,代码来源:bwidow.cpp


示例3: auto_alloc_array

void esripsys_state::video_start()
{
	struct line_buffer_t *line_buffer = m_line_buffer;
	int i;

	/* Allocate memory for the two 512-pixel line buffers */
	line_buffer[0].colour_buf = auto_alloc_array(machine(), UINT8, 512);
	line_buffer[0].intensity_buf = auto_alloc_array(machine(), UINT8, 512);
	line_buffer[0].priority_buf = auto_alloc_array(machine(), UINT8, 512);

	line_buffer[1].colour_buf = auto_alloc_array(machine(), UINT8, 512);
	line_buffer[1].intensity_buf = auto_alloc_array(machine(), UINT8, 512);
	line_buffer[1].priority_buf = auto_alloc_array(machine(), UINT8, 512);

	/* Create and initialise the HBLANK timers */
	m_hblank_start_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(esripsys_state::hblank_start_callback),this));
	m_hblank_end_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(esripsys_state::hblank_end_callback),this));
	m_hblank_start_timer->adjust(m_screen->time_until_pos(0, ESRIPSYS_HBLANK_START));

	/* Create the sprite scaling table */
	m_scale_table = auto_alloc_array(machine(), UINT8, 64 * 64);

	for (i = 0; i < 64; ++i)
	{
		int j;

		for (j = 1; j < 65; ++j)
		{
			int p0 = 0;
			int p1 = 0;
			int p2 = 0;
			int p3 = 0;
			int p4 = 0;
			int p5 = 0;

			if (i & 0x1)
				p0 = BIT(j, 5) && !BIT(j, 4) && !BIT(j,3) && !BIT(j, 2) && !BIT(j, 1) && !BIT(j, 0);
			if (i & 0x2)
				p1 = BIT(j, 4) && !BIT(j, 3) && !BIT(j, 2) && !BIT(j, 1) && !BIT(j, 0);
			if (i & 0x4)
				p2 = BIT(j,3) && !BIT(j, 2) && !BIT(j, 1) && !BIT(j, 0);
			if (i & 0x8)
				p3 = BIT(j, 2) && !BIT(j,1) && !BIT(j,0);
			if (i & 0x10)
				p4 = BIT(j, 1) && !BIT(j, 0);
			if (i & 0x20)
				p5 = BIT(j, 0);

			m_scale_table[i * 64 + j - 1] = p0 | p1 | p2 | p3 | p4 | p5;
		}
	}

	/* Now create a lookup table for scaling the sprite 'fig' value */
	m_fig_scale_table = auto_alloc_array(machine(), UINT8, 1024 * 64);

	for (i = 0; i < 1024; ++i)
	{
		int scale;

		for (scale = 0; scale < 64; ++scale)
		{
			int input_pixels = i + 1;
			int scaled_pixels = 0;

			while (input_pixels)
			{
				if (m_scale_table[scale * 64 + (scaled_pixels & 0x3f)] == 0)
					input_pixels--;

				scaled_pixels++;
			}

			m_fig_scale_table[i * 64 + scale] = scaled_pixels - 1;
		}
	}

	/* Register stuff for state saving */
	save_pointer(NAME(line_buffer[0].colour_buf), 512);
	save_pointer(NAME(line_buffer[0].intensity_buf), 512);
	save_pointer(NAME(line_buffer[0].priority_buf), 512);

	save_pointer(NAME(line_buffer[1].colour_buf), 512);
	save_pointer(NAME(line_buffer[1].intensity_buf), 512);
	save_pointer(NAME(line_buffer[1].priority_buf), 512);

	save_item(NAME(m_video_firq));
	save_item(NAME(m_bg_intensity));
	save_item(NAME(m_hblank));
	save_item(NAME(m_video_firq_en));
	save_item(NAME(m_frame_vbl));
	save_item(NAME(m_12sel));
}
开发者ID:dinkc64,项目名称:mame,代码行数:92,代码来源:esripsys.c


示例4: tilemap_get_info_delegate

void cischeat_state::create_tilemaps()
{
	int layer, i;

	for (layer = 0; layer < 3; layer++)
	{
		/* 16x16 tilemaps */
		m_tilemap[layer][0][0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),this),
									8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2);
		m_tilemap[layer][0][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),this),
									8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4);
		m_tilemap[layer][0][2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),this),
									8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8);
		m_tilemap[layer][0][3] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),this),
									8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16);

		/* 8x8 tilemaps */
		m_tilemap[layer][1][0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),this),
									8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1);
		m_tilemap[layer][1][1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),this),
									8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
		m_tilemap[layer][1][2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),this),
									8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
		m_tilemap[layer][1][3] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),this), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),this),
									8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4);

		/* set user data and transparency */
		for (i = 0; i < 8; i++)
		{
			m_tilemap[layer][i/4][i%4]->set_user_data((void *)(FPTR)layer);
			m_tilemap[layer][i/4][i%4]->set_transparent_pen(15);
		}
	}
}
开发者ID:dinkc64,项目名称:mame,代码行数:34,代码来源:cischeat.c


示例5: map

void aic6250_device::map(address_map &map)
{
	map(0x0, 0x0).rw(FUNC(aic6250_device::dma_count_l_r), FUNC(aic6250_device::dma_count_l_w));
	map(0x1, 0x1).rw(FUNC(aic6250_device::dma_count_m_r), FUNC(aic6250_device::dma_count_m_w));
	map(0x2, 0x2).rw(FUNC(aic6250_device::dma_count_h_r), FUNC(aic6250_device::dma_count_h_w));
	map(0x3, 0x3).w(FUNC(aic6250_device::int_msk_reg_0_w));
	map(0x4, 0x4).w(FUNC(aic6250_device::offset_cntrl_w));
	map(0x5, 0x5).rw(FUNC(aic6250_device::fifo_status_r), FUNC(aic6250_device::dma_cntrl_w));
	map(0x6, 0x6).rw(FUNC(aic6250_device::rev_cntrl_r), FUNC(aic6250_device::int_msk_reg_1_w));
	map(0x7, 0x7).rw(FUNC(aic6250_device::status_reg_0_r), FUNC(aic6250_device::control_reg_0_w));
	map(0x8, 0x8).rw(FUNC(aic6250_device::status_reg_1_r), FUNC(aic6250_device::control_reg_1_w));
	map(0x9, 0x9).rw(FUNC(aic6250_device::scsi_signal_reg_r), FUNC(aic6250_device::scsi_signal_reg_w));
	map(0xa, 0xa).rw(FUNC(aic6250_device::scsi_id_data_r), FUNC(aic6250_device::scsi_id_data_w));
	map(0xb, 0xb).r(FUNC(aic6250_device::source_dest_id_r));
	map(0xc, 0xc).rw(FUNC(aic6250_device::memory_data_r), FUNC(aic6250_device::memory_data_w));
	map(0xd, 0xd).rw(FUNC(aic6250_device::port_a_r), FUNC(aic6250_device::port_a_w));
	map(0xe, 0xe).rw(FUNC(aic6250_device::port_b_r), FUNC(aic6250_device::port_b_w));
	map(0xf, 0xf).rw(FUNC(aic6250_device::scsi_latch_data_r), FUNC(aic6250_device::scsi_bsy_rst_w));
}
开发者ID:rfka01,项目名称:mame,代码行数:19,代码来源:aic6250.cpp


示例6: poly_free

/******************************************************************/

void galastrm_state::galastrm_exit()
{
	poly_free(m_poly);
}

void galastrm_state::video_start()
{
	m_spritelist = auto_alloc_array(machine(), struct gs_tempsprite, 0x4000);

	m_screen->register_screen_bitmap(m_tmpbitmaps);
	m_screen->register_screen_bitmap(m_polybitmap);

	m_poly = poly_alloc(machine(), 16, sizeof(gs_poly_extra_data), POLYFLAG_ALLOW_QUADS);
	machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(galastrm_state::galastrm_exit), this));
}

/************************************************************
            SPRITE DRAW ROUTINES

We draw a series of small tiles ("chunks") together to
create each big sprite. The spritemap rom provides the lookup
table for this. The game hardware looks up 16x16 sprite chunks
from the spritemap rom, creating a 64x64 sprite like this:

     0  1  2  3
     4  5  6  7
     8  9 10 11
    12 13 14 15
开发者ID:gbraad,项目名称:mame,代码行数:30,代码来源:galastrm.c


示例7: FUNC

    int quot, rem; \
} div_t; \
\
typedef struct { \
    int quot, rem; \
} ldiv_t; \
";
#endif

#define MIN_OPT_LEVEL 2
#include "rodefs.h"

/* all stdlib.h functions */
const PICOC_REG_TYPE StdlibFunctions[] = {
#ifndef NO_FP
    { FUNC(StdlibAtof),           PROTO("float atof(char *);") },
    { FUNC(StdlibStrtod),         PROTO("float strtod(char *,char **);") },
#endif
    { FUNC(StdlibAtoi),           PROTO("int atoi(char *);") },
    { FUNC(StdlibAtol),           PROTO("int atol(char *);") },
    { FUNC(StdlibStrtol),         PROTO("int strtol(char *,char **,int);") },
    { FUNC(StdlibStrtoul),        PROTO("int strtoul(char *,char **,int);") },
    { FUNC(StdlibMalloc),         PROTO("void *malloc(int);") },
    { FUNC(StdlibCalloc),         PROTO("void *calloc(int,int);") },
    { FUNC(StdlibRealloc),        PROTO("void *realloc(void *,int);") },
    { FUNC(StdlibFree),           PROTO("void free(void *);") },
    { FUNC(StdlibRand),           PROTO("int rand();") },
    { FUNC(StdlibSrand),          PROTO("void srand(int);") },
    { FUNC(StdlibAbort),          PROTO("void abort();") },
    { FUNC(StdlibExit),           PROTO("void exit(int);") },
    { FUNC(StdlibGetenv),         PROTO("char *getenv(char *);") },
开发者ID:fjrti,项目名称:remix,代码行数:31,代码来源:stdlib.c


示例8: MCFG_SCREEN_VISIBLE_AREA

	MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
	MCFG_SCREEN_UPDATE_DEVICE("crtc", sy6545_1_device, screen_update)
	MCFG_PALETTE_ADD_MONOCHROME("palette")
	MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_v6809)

	/* sound hardware */
	SPEAKER(config, "mono").front_center();
	MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)

	/* devices */
	SY6545_1(config, m_crtc, 16_MHz_XTAL / 8);
	m_crtc->set_screen("screen");
	m_crtc->set_show_border_area(false);
	m_crtc->set_char_width(8);
	m_crtc->set_update_row_callback(FUNC(v6809_state::crtc_update_row), this);
	m_crtc->set_on_update_addr_change_callback(FUNC(v6809_state::crtc_update_addr), this);

	generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0));
	keyboard.set_keyboard_callback(FUNC(v6809_state::kbd_put));

// port A = drive select and 2 control lines ; port B = keyboard
// CB2 connects to the interrupt pin of the RTC (the rtc code doesn't support it)
	PIA6821(config, m_pia0, 0);
	m_pia0->readpb_handler().set(FUNC(v6809_state::pb_r));
	m_pia0->writepa_handler().set(FUNC(v6809_state::pa_w));
	m_pia0->irqa_handler().set_inputline("maincpu", M6809_IRQ_LINE);
	m_pia0->irqb_handler().set_inputline("maincpu", M6809_IRQ_LINE);

// no idea what this does
	pia6821_device &pia1(PIA6821(config, "pia1", 0));
开发者ID:Octocontrabass,项目名称:mame,代码行数:31,代码来源:v6809.cpp


示例9: assert

void sdl_osd_interface::init(running_machine &machine)
{
	// call our parent
	osd_interface::init(machine);

	sdl_options &options = downcast<sdl_options &>(machine.options());
	const char *stemp;

	// determine if we are benchmarking, and adjust options appropriately
	int bench = options.bench();
	astring error_string;
	if (bench > 0)
	{
		options.set_value(OPTION_THROTTLE, false, OPTION_PRIORITY_MAXIMUM, error_string);
		options.set_value(OPTION_SOUND, false, OPTION_PRIORITY_MAXIMUM, error_string);
		options.set_value(SDLOPTION_VIDEO, "none", OPTION_PRIORITY_MAXIMUM, error_string);
		options.set_value(OPTION_SECONDS_TO_RUN, bench, OPTION_PRIORITY_MAXIMUM, error_string);
		assert(!error_string);
	}

	// Some driver options - must be before audio init!
	stemp = options.audio_driver();
	if (stemp != NULL && strcmp(stemp, SDLOPTVAL_AUTO) != 0)
	{
		mame_printf_verbose("Setting SDL audiodriver '%s' ...\n", stemp);
		osd_setenv(SDLENV_AUDIODRIVER, stemp, 1);
	}

	stemp = options.video_driver();
	if (stemp != NULL && strcmp(stemp, SDLOPTVAL_AUTO) != 0)
	{
		mame_printf_verbose("Setting SDL videodriver '%s' ...\n", stemp);
		osd_setenv(SDLENV_VIDEODRIVER, stemp, 1);
	}

#if (SDLMAME_SDL2)
		stemp = options.render_driver();
		if (stemp != NULL && strcmp(stemp, SDLOPTVAL_AUTO) != 0)
		{
			mame_printf_verbose("Setting SDL renderdriver '%s' ...\n", stemp);
			//osd_setenv(SDLENV_RENDERDRIVER, stemp, 1);
			SDL_SetHint(SDL_HINT_RENDER_DRIVER, stemp);
		}
#endif

	/* Set the SDL environment variable for drivers wanting to load the
	 * lib at startup.
	 */
#if USE_OPENGL
	/* FIXME: move lib loading code from drawogl.c here */

	stemp = options.gl_lib();
	if (stemp != NULL && strcmp(stemp, SDLOPTVAL_AUTO) != 0)
	{
		osd_setenv("SDL_VIDEO_GL_DRIVER", stemp, 1);
		mame_printf_verbose("Setting SDL_VIDEO_GL_DRIVER = '%s' ...\n", stemp);
	}
#endif

	/* get number of processors */
	stemp = options.numprocessors();

	osd_num_processors = 0;

	if (strcmp(stemp, "auto") != 0)
	{
		osd_num_processors = atoi(stemp);
		if (osd_num_processors < 1)
		{
			mame_printf_warning("Warning: numprocessors < 1 doesn't make much sense. Assuming auto ...\n");
			osd_num_processors = 0;
		}
	}

	/* Initialize SDL */

	if (!SDLMAME_INIT_IN_WORKER_THREAD)
	{
#if (SDLMAME_SDL2)
		if (SDL_InitSubSystem(SDL_INIT_TIMER|SDL_INIT_AUDIO| SDL_INIT_VIDEO| SDL_INIT_JOYSTICK|SDL_INIT_NOPARACHUTE)) {
#else
		if (SDL_Init(SDL_INIT_TIMER|SDL_INIT_AUDIO| SDL_INIT_VIDEO| SDL_INIT_JOYSTICK|SDL_INIT_NOPARACHUTE)) {
#endif
			mame_printf_error("Could not initialize SDL %s\n", SDL_GetError());
			exit(-1);
		}
		osd_sdl_info();
	}
	// must be before sdlvideo_init!
	machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(osd_exit), &machine));

	defines_verbose();

	if (!SDLMAME_HAS_DEBUGGER)
		if (machine.debug_flags & DEBUG_FLAG_OSD_ENABLED)
		{
			mame_printf_error("sdlmame: -debug not supported on X11-less builds\n\n");
			osd_exit(machine);
			exit(-1);
		}
//.........这里部分代码省略.........
开发者ID:felipesanches,项目名称:ume,代码行数:101,代码来源:sdlmain.c


示例10: video_start

void bsktball_state::video_start()
{
	m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bsktball_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
开发者ID:coinhelper,项目名称:jsmess,代码行数:4,代码来源:bsktball.c


示例11: FUNC

bool Cacheable::validate(Session *s)
{
	FUNC("Cacheable::validate()");
	
	// Return true if the object is already valid
	if (isValid())
		return true;
	
	// Set the mode to first search locally, then search remote
	s->setCacheMode(Session::LOCAL_THEN_REMOTE);
	
	// Construct the match info for this object's issuer
	acl::MatchInfo mi;
	getIssuerInfo(mi);
	
	// Find this object's issuer (clearance cert)
	CCList *pCCList = s->getCC(mi);
	if (pCCList == NULL)
    {
        char lpszBuf[2048];
        strcpy(lpszBuf, "Issuer not found");
        if (mi.getSubjectDN())
        {
            strcat(lpszBuf, ", ");
            strcat(lpszBuf, *mi.getSubjectDN());
        }
		throw ACL_EXCEPT(ACL_AC_VAL_ERROR, lpszBuf);
    }       // END IF pCCList (no issuer(s))
	
	// Create auto_ptr to automatically free the list
	std::auto_ptr<CCList> apCCList(pCCList);
	
	// If more than one issuer is returned, throw an exception
	if (pCCList->size() > 1)
    {
		char errorBuf[1024];
        strcpy(errorBuf, "Multiple issuers found");
        if (mi.getSubjectDN())
        {
            strcat(errorBuf, ", ");
            strcat(errorBuf, *mi.getSubjectDN());
        }
		throw ACL_EXCEPT(ACL_AC_VAL_ERROR, errorBuf);
    }
	
	// Validate the issuer's clearance cert
	CML::ValidatedKey validKey;
    CML::ErrorInfoList Errors;

	CML::CertPath certPath(pCCList->front().getEncodedCC(), false);
	short cml_status = certPath.BuildAndValidate(s->getCMLHandle(),
        CM_SEARCH_UNTIL_FOUND, &Errors, 0, &validKey);
	if (cml_status != CM_NO_ERROR)
	{
		char errorBuf[1024];
		sprintf(errorBuf, "Issuer failed to validate: CML error %d: %s",
			cml_status, CMU_GetErrorString(cml_status));
        if (mi.getSubjectDN())
        {
            strcat(errorBuf, ", ");
            strcat(errorBuf, *mi.getSubjectDN());
        }
		throw ACL_EXCEPT(ACL_VAL_ERROR, errorBuf);
	}
	
	// Perform any object specific path validation logic first
	vPathRules(s, certPath.base());
	
	// Validate the object
	return validate(s, validKey.pubKeyInfo());
}
开发者ID:dcblake,项目名称:SMP,代码行数:71,代码来源:aclcacheable.cpp


示例12: strcat

				if (phoneme == 0x03 || phoneme == 0x3e) strcat(phonemes," ");
				else strcat(phonemes,PhonemeTable[phoneme]);
			}

			mame_printf_debug("Votrax played '%s'\n", phonemes);
			play_sample(samples, phonemes);
#if 0
			popmessage("%s", phonemes);
#endif
		}

		state->m_votrax_queuepos = 0;
	}

	/* generate a NMI after a while to make the CPU continue to send data */
	space->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(gottlieb_nmi_generate));
}

static WRITE8_HANDLER( speech_clock_dac_w )
{
	gottlieb_state *state = space->machine().driver_data<gottlieb_state>();
if (data != state->m_last)
	mame_printf_debug("clock = %02X\n", data);
state->m_last = data;
}


/*************************************
 *
 *  Rev 1. initialization
 *
开发者ID:bdidier,项目名称:MAME-OS-X,代码行数:31,代码来源:gottlieb.c


示例13: map

void konendev_state::konendev_map(address_map &map)
{
	map(0x00000000, 0x00ffffff).ram();
	map(0x78000000, 0x78000003).r(FUNC(konendev_state::mcu2_r));
	map(0x78080000, 0x7808000f).rw(FUNC(konendev_state::rtc_r), FUNC(konendev_state::rtc_w));
	map(0x780c0000, 0x780c0003).rw(FUNC(konendev_state::sound_data_r), FUNC(konendev_state::sound_data_w));
	map(0x78100000, 0x78100003).w(FUNC(konendev_state::eeprom_w));
	map(0x78800000, 0x78800003).r(FUNC(konendev_state::ifu2_r));
	map(0x78800004, 0x78800007).r(FUNC(konendev_state::ctrl0_r));
	map(0x78a00000, 0x78a0001f).r(FUNC(konendev_state::ctrl1_r));
	map(0x78e00000, 0x78e00003).r(FUNC(konendev_state::ctrl2_r));
	map(0x79000000, 0x79000003).w(m_gcu, FUNC(k057714_device::fifo_w));
	map(0x79800000, 0x798000ff).rw(m_gcu, FUNC(k057714_device::read), FUNC(k057714_device::write));
	map(0x7a000000, 0x7a01ffff).ram().share("nvram0");
	map(0x7a100000, 0x7a11ffff).ram().share("nvram1");
	map(0x7e000000, 0x7f7fffff).rom().region("flash", 0);
	map(0x7ff00000, 0x7fffffff).rom().region("program", 0);
}
开发者ID:SailorSat,项目名称:cabmame,代码行数:18,代码来源:konendev.cpp


示例14: map

void v6809_state::v6809_mem(address_map &map)
{
	map.unmap_value_high();
	map(0x0000, 0xefff).ram();
	map(0xf000, 0xf000).mirror(0xfe).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(v6809_state::v6809_address_w));
	map(0xf001, 0xf001).mirror(0xfe).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(v6809_state::v6809_register_w));
	map(0xf200, 0xf200).mirror(0xff).w(FUNC(v6809_state::videoram_w));
	map(0xf500, 0xf501).mirror(0x36).rw("acia0", FUNC(acia6850_device::read), FUNC(acia6850_device::write)); // modem
	map(0xf508, 0xf509).mirror(0x36).rw("acia1", FUNC(acia6850_device::read), FUNC(acia6850_device::write)); // printer
	map(0xf600, 0xf603).mirror(0x3c).rw(m_fdc, FUNC(mb8876_device::read), FUNC(mb8876_device::write));
	map(0xf640, 0xf64f).mirror(0x30).rw("rtc", FUNC(mm58274c_device::read), FUNC(mm58274c_device::write));
	map(0xf680, 0xf683).mirror(0x3c).rw(m_pia0, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0xf6c0, 0xf6c7).mirror(0x08).rw("ptm", FUNC(ptm6840_device::read), FUNC(ptm6840_device::write));
	map(0xf6d0, 0xf6d3).mirror(0x0c).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0xf800, 0xffff).rom();
}
开发者ID:Octocontrabass,项目名称:mame,代码行数:16,代码来源:v6809.cpp


示例15: DRIVER_INIT_MEMBER

DRIVER_INIT_MEMBER(exprraid_state,wexpressb3)
{
	m_maincpu->space(AS_PROGRAM).install_read_handler(0xFFC0, 0xFFC0, read8_delegate(FUNC(exprraid_state::vblank_r),this));
	exprraid_gfx_expand();
}
开发者ID:jiangzhonghui,项目名称:mame,代码行数:5,代码来源:exprraid.c


示例16: map

void allied_state::allied_map(address_map &map)
{
	map(0x0000, 0x003f).ram(); // ic6
	map(0x0044, 0x0047).rw(m_ic2, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0x0048, 0x004b).rw(m_ic1, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0x0050, 0x0053).rw(m_ic7, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0x0060, 0x0063).rw(m_ic4, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0x0080, 0x008f).rw(m_ic5, FUNC(mos6530_device::read), FUNC(mos6530_device::write));
	map(0x0840, 0x084f).rw(m_ic6, FUNC(mos6530_device::read), FUNC(mos6530_device::write));
	map(0x00c0, 0x00c3).rw(m_ic8, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
	map(0x0100, 0x013f).ram(); // ic5
	map(0x1400, 0x1fff).rom();
}
开发者ID:RafTacker,项目名称:mame,代码行数:13,代码来源:allied.cpp


示例17: FUNC

int
listener::auth(int client_sock, 
	uid_t 		*uid_out, 
	gid_t 		*gid_out, 
	char 		*complete_name, int namelen
#ifdef USE_KRB
	,
	unsigned long ttime, // time ticket issued
	C_Block		*sessionkey
#endif
)
{
	FUNC(listener::auth);
	c_uid_t 			uid;
	int				remoteness=::same_process;


#ifdef DEBUG
	dumpaddrs(client_sock, "listener::run");
#endif
	(void) max_sock_opt(client_sock, SO_RCVBUF);

	get_remoteness(client_sock, remoteness);

#ifdef USE_KRB
	{
	// KERBEROS AUTHENTICATION
	/* specific to RPC 4.0 */ /* grot */
	int             krb_status;
	KTEXT_ST        ticket;
	AUTH_DAT        auth_data;
	char			version[20];
	Key_schedule    sched;
	INSTANCE		inst;
	struct sockaddr_in peer, me;

	// instance = '*' means authenticator will fill it in.
	memset(inst, '\0', sizeof(inst)); 
	inst[0] = '*';

#	ifdef MUTUAL
#	define kopt	KOPT_DO_MUTUAL
#	else
#	define kopt	0
#	endif

	krb_status = krb_recvauth(kopt, client_sock,
		&ticket, "rcmd", inst, &peer, &me, &auth_data,
		"" /* use /etc/srvtab */,  sched, version);

	if(krb_status != KSUCCESS) {
		ShoreVasLayer.client_service->log->log(log_error, 
		 "Kerberos error %s ", (char *)krb_err_txt[krb_status]);
		return ::error_remoteness;
	}

	// who's it from?
	uid = (c_uid_t) SVAS_OK;

	if (krb_kntoln(&auth_data, complete_name) != KSUCCESS) {
		strcpy(complete_name, "*No local name returned by krb_kntoln*");
		ShoreVasLayer.client_service->log->log(log_error, 
		 "Kerberos error %s ", (char *)krb_err_txt[krb_status]);
		return ::error_remoteness;
	}

#	ifdef DEBUG
	// print the info filled in by krb
	DBG(
		<< "KRB connect: version " << version  << "client krb-connect OK"
	)
#	endif 

	dassert(strcmp(auth_data.pname,complete_name)==0);
	}
	ttime = auth_data.time_sec, 
	*sessionkey = auth_data.session;
#else
	// NO KERBEROS: just read name and return uid
	{
		int cc; 

		if( (cc = ::read(client_sock, complete_name, namelen)) <0) {
			// TODO: Shouldn't this use log instead of perror?
			perror("read login complete_name");
			return ::error_remoteness;
		}
		complete_name[cc]='\0';
	}
#endif /* NO KERBEROS */

	{
		*uid_out = uid = uname2uid(complete_name, gid_out);
		if(uid==BAD_UID) {
			DBG(<<"NO SUCH USER!");
			ShoreVasLayer.client_service->
				log->log(log_error, "Authentication error: no such user: %s", complete_name);
			
			return ::error_remoteness;
		}
//.........这里部分代码省略.........
开发者ID:glycerine,项目名称:shore-mt,代码行数:101,代码来源:tcp_clients.C


示例18: EEPROM_93C46_16BIT

void  model1io_device::device_add_mconfig(machine_config &config)
{
	z80_device &iocpu(Z80(config, "iocpu", 32_MHz_XTAL/8));
	iocpu.set_addrmap(AS_PROGRAM, &model1io_device::mem_map);

	EEPROM_93C46_16BIT(config, m_eeprom); // 93C45

	sega_315_5338a_device &io(SEGA_315_5338A(config, "io", 32_MHz_XTAL));
	io.read_callback().set(FUNC(model1io_device::io_r));
	io.write_callback().set(FUNC(model1io_device::io_w));
	io.out_pa_callback().set(FUNC(model1io_device::io_pa_w));
	io.in_pb_callback().set(FUNC(model1io_device::io_pb_r));
	io.in_pc_callback().set(FUNC(model1io_device::io_pc_r));
	io.in_pd_callback().set(FUNC(model1io_device::io_pd_r));
	io.in_pe_callback().set(FUNC(model1io_device::io_pe_r));
	io.out_pe_callback().set(FUNC(model1io_device::io_pe_w));
	io.out_pf_callback().set(FUNC(model1io_device::io_pf_w));
	io.in_pg_callback().set(FUNC(model1io_device::io_pg_r));

	msm6253_device &adc(MSM6253(config, "adc", 0));
	adc.set_input_cb<0>(FUNC(model1io_device::analog0_r));
	adc.set_input_cb<1>(FUNC(model1io_device::analog1_r));
	adc.set_input_cb<2>(FUNC(model1io_device::analog2_r));
	adc.set_input_cb<3>(FUNC(model1io_device::analog3_r));
}
开发者ID:SailorSat,项目名称:cabmame,代码行数:25,代码来源:model1io.cpp


示例19: video_start

void chanbara_state::video_start()
{
	m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,8, 8, 32, 32);
	m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS,16, 16, 16, 32);
	m_bg_tilemap->set_transparent_pen(0);
}
开发者ID:Ilgrim,项目名称:MAMEHub,代码行数:6,代码来源:chanbara.c


示例20: tilemap_get_info_delegate

void aquarius_state::video_start()
{
	m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aquarius_state::aquarius_gettileinfo),this), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
}
开发者ID:MASHinfo,项目名称:mame,代码行数:4,代码来源:aquarius.cpp



注:本文中的FUNC函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ FUNCTION函数代码示例发布时间:2022-05-30
下一篇:
C++ FUIAction函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap