本文整理汇总了C++中FUNC函数的典型用法代码示例。如果您正苦于以下问题:C++ FUNC函数的具体用法?C++ FUNC怎么用?C++ FUNC使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FUNC函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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));
}
示例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();
}
示例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));
}
示例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);
}
}
}
示例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));
}
示例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
示例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 *);") },
示例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));
示例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);
}
//.........这里部分代码省略.........
示例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);
}
示例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());
}
示例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
*
示例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);
}
示例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();
}
示例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();
}