本文整理汇总了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;未经允许,请勿转载。 |
请发表评论