本文整理汇总了C++中device_missing_dependencies函数的典型用法代码示例。如果您正苦于以下问题:C++ device_missing_dependencies函数的具体用法?C++ device_missing_dependencies怎么用?C++ device_missing_dependencies使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了device_missing_dependencies函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: device_missing_dependencies
void bfm_dm01_device::device_start()
{
if(!m_screen->started())
throw device_missing_dependencies();
if(!m_palette->started())
throw device_missing_dependencies();
m_busy_cb.resolve_safe();
save_item(NAME(m_data_avail));
save_item(NAME(m_control));
save_item(NAME(m_xcounter));
save_item(NAME(m_busy));
save_item(NAME(m_comdata));
for (int i = 0; i < 65; i++)
save_item(NAME(m_segbuffer), i);
for (int i = 0; i < BYTES_PER_ROW; i++)
save_item(NAME(m_scanline), i);
m_screen->register_screen_bitmap(m_tmpbitmap);
m_palette->set_pen_color(0, rgb_t(0, 0, 0)); // background
m_palette->set_pen_color(1, rgb_t(15, 1, 1)); // off dot
m_palette->set_pen_color(2, rgb_t(255, 31, 31)); // on dot
}
开发者ID:MASHinfo,项目名称:mame,代码行数:27,代码来源:bfm_dm01.cpp
示例2: device_missing_dependencies
void driver_device::device_start()
{
// reschedule ourselves to be last
for (device_t &test : device_iterator(*this))
if (&test != this && !test.started())
throw device_missing_dependencies();
// call the game-specific init
m_system->driver_init(*this);
// finish image devices init process
machine().image().postdevice_init();
// start the various pieces
driver_start();
if (!m_callbacks[CB_MACHINE_START].isnull())
m_callbacks[CB_MACHINE_START]();
else
machine_start();
if (!m_callbacks[CB_SOUND_START].isnull())
m_callbacks[CB_SOUND_START]();
else
sound_start();
if (!m_callbacks[CB_VIDEO_START].isnull())
m_callbacks[CB_VIDEO_START]();
else
video_start();
// save generic states
save_item(NAME(m_flip_screen_x));
save_item(NAME(m_flip_screen_y));
}
开发者ID:PugsyMAME,项目名称:mame,代码行数:35,代码来源:driver.cpp
示例3: device_missing_dependencies
void deco_irq_device::device_start()
{
// make sure our screen is started
if (!m_screen->started())
throw device_missing_dependencies();
// resolve callbacks
m_lightgun1_cb.resolve_safe(0);
m_lightgun2_cb.resolve_safe(0);
m_lightgun_irq_cb.resolve_safe();
m_raster1_irq_cb.resolve_safe();
m_raster2_irq_cb.resolve_safe();
m_vblank_irq_cb.resolve_safe();
// allocate scanline timer and start it
m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(deco_irq_device::scanline_callback), this));
m_scanline_timer->adjust(m_screen->time_until_pos(0));
// register for save states
save_item(NAME(m_lightgun_irq));
save_item(NAME(m_raster_irq));
save_item(NAME(m_vblank_irq));
save_item(NAME(m_raster_irq_target));
save_item(NAME(m_raster_irq_masked));
save_item(NAME(m_raster_irq_scanline));
save_item(NAME(m_lightgun_latch));
}
开发者ID:fesh0r,项目名称:mame-full,代码行数:27,代码来源:deco_irq.cpp
示例4: device_missing_dependencies
void dooyong_rom_tilemap_device::device_start()
{
if (!m_gfxdecode->started())
throw device_missing_dependencies();
m_tilemap = &machine().tilemap().create(
*m_gfxdecode,
tilemap_get_info_delegate(FUNC(dooyong_rom_tilemap_device::tile_info), this),
TILEMAP_SCAN_COLS,
gfx().width(),
gfx().height(),
1024 / gfx().width(),
m_rows);
if (~m_transparent_pen)
m_tilemap->set_transparent_pen(m_transparent_pen);
if (0 > m_tilerom_offset)
m_tilerom_offset = m_tilerom.length() + m_tilerom_offset;
std::fill(std::begin(m_registers), std::end(m_registers), 0U);
m_palette_bank = 0U;
save_item(NAME(m_registers));
save_item(NAME(m_palette_bank));
}
开发者ID:Robbbert,项目名称:store1,代码行数:25,代码来源:dooyong.cpp
示例5: device_missing_dependencies
void vt100_keyboard_device::device_start()
{
if (!m_uart->started())
throw device_missing_dependencies();
m_uart->write_tsb(0);
m_uart->write_eps(1);
m_uart->write_np(1);
m_uart->write_nb1(1);
m_uart->write_nb2(1);
m_uart->write_cs(1);
m_uart->write_swe(0);
m_online_led.resolve();
m_local_led.resolve();
m_locked_led.resolve();
m_ln_led.resolve();
m_online_led = 0;
m_local_led = 1;
m_locked_led = 1;
for (int n = 0; n < 4; n++)
m_ln_led[n] = 1;
save_item(NAME(m_signal_line));
save_item(NAME(m_last_signal_change));
save_item(NAME(m_last_scan));
}
开发者ID:SailorSat,项目名称:cabmame,代码行数:28,代码来源:vt100_kbd.cpp
示例6: device_missing_dependencies
void k05324x_device::device_start()
{
if (!palette().device().started())
throw device_missing_dependencies();
/* decode the graphics */
decode_gfx();
gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
if (VERBOSE && !(palette().shadows_enabled()))
popmessage("driver should use VIDEO_HAS_SHADOWS");
m_ramsize = 0x800;
m_z_rejection = -1;
m_ram = make_unique_clear<uint16_t[]>(m_ramsize / 2);
m_buffer = make_unique_clear<uint16_t[]>(m_ramsize / 2);
// bind callbacks
m_k05324x_cb.bind_relative_to(*owner());
save_pointer(NAME(m_ram), m_ramsize / 2);
save_pointer(NAME(m_buffer), m_ramsize / 2);
save_item(NAME(m_rombank));
save_item(NAME(m_z_rejection));
save_item(NAME(m_regs));
}
开发者ID:MASHinfo,项目名称:mame,代码行数:27,代码来源:k053244_k053245.cpp
示例7: device_missing_dependencies
void k052109_device::device_start()
{
if (m_screen_tag != nullptr)
{
// make sure our screen is started
screen_device *screen = m_owner->subdevice<screen_device>(m_screen_tag);
if (!screen->started())
throw device_missing_dependencies();
// and register a callback for vblank state
screen->register_vblank_callback(vblank_state_delegate(FUNC(k052109_device::vblank_callback), this));
}
if (region() != nullptr)
{
m_char_rom = region()->base();
m_char_size = region()->bytes();
}
decode_gfx();
gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
m_ram = make_unique_clear<UINT8[]>(0x6000);
m_colorram_F = &m_ram[0x0000];
m_colorram_A = &m_ram[0x0800];
m_colorram_B = &m_ram[0x1000];
m_videoram_F = &m_ram[0x2000];
m_videoram_A = &m_ram[0x2800];
m_videoram_B = &m_ram[0x3000];
m_videoram2_F = &m_ram[0x4000];
m_videoram2_A = &m_ram[0x4800];
m_videoram2_B = &m_ram[0x5000];
m_tilemap[0] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[1] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[2] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info2),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[0]->set_transparent_pen(0);
m_tilemap[1]->set_transparent_pen(0);
m_tilemap[2]->set_transparent_pen(0);
// bind callbacks
m_k052109_cb.bind_relative_to(*owner());
// resolve callbacks
m_irq_handler.resolve_safe();
m_firq_handler.resolve_safe();
m_nmi_handler.resolve_safe();
save_pointer(NAME(m_ram.get()), 0x6000);
save_item(NAME(m_rmrd_line));
save_item(NAME(m_romsubbank));
save_item(NAME(m_scrollctrl));
save_item(NAME(m_irq_enabled));
save_item(NAME(m_charrombank));
save_item(NAME(m_charrombank_2));
save_item(NAME(m_has_extra_video_ram));
machine().save().register_postload(save_prepost_delegate(FUNC(k052109_device::tileflip_reset), this));
}
开发者ID:ccmurray,项目名称:mame,代码行数:60,代码来源:k052109.cpp
示例8: device_missing_dependencies
void isa8_pgc_device::device_start()
{
address_space &space = m_cpu->space( AS_PROGRAM );
int width = PGC_DISP_HORZ;
int height = PGC_DISP_VERT;
if (m_palette != nullptr && !m_palette->started())
throw device_missing_dependencies();
set_isa_device();
for (int i = 0; i < 256; i++ )
{
m_palette->set_pen_color( i, 0, 0, 0 );
}
m_bitmap = std::make_unique<bitmap_ind16>(width, height);
m_bitmap->fill(0);
m_vram = std::make_unique<uint8_t[]>(0x78000);
space.install_readwrite_bank(0x80000, 0xf7fff, "vram");
membank("vram")->set_base(m_vram.get());
m_eram = std::make_unique<uint8_t[]>(0x8000);
machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(&isa8_pgc_device::reset_common, this));
}
开发者ID:Enverex,项目名称:mame,代码行数:27,代码来源:pgc.cpp
示例9: device
void device_video_interface::interface_pre_start()
{
// only look up screens if we haven't explicitly requested no screen
if (m_screen_tag != NULL)
{
// find the screen device if explicitly configured
if (strcmp(m_screen_tag, s_unconfigured_screen_tag) != 0)
{
m_screen = device().siblingdevice<screen_device>(m_screen_tag);
if (m_screen == NULL)
throw emu_fatalerror("Screen '%s' not found, explicitly set for device '%s'", m_screen_tag, device().tag());
}
// otherwise, look for a single match
else
{
screen_device_iterator iter(device().machine().root_device());
m_screen = iter.first();
if (iter.next() != NULL)
throw emu_fatalerror("No screen specified for device '%s', but multiple screens found", device().tag());
}
}
// fatal error if no screen is found
if (m_screen == NULL && m_screen_required)
throw emu_fatalerror("Device '%s' requires a screen", device().tag());
// if we have a screen and it's not started, wait for it
if (m_screen != NULL && !m_screen->started())
throw device_missing_dependencies();
}
开发者ID:CJBass,项目名称:mame2013-libretro,代码行数:31,代码来源:divideo.c
示例10: device_missing_dependencies
void device_sound_interface::interface_pre_start()
{
// scan all the sound devices
device_sound_interface *sound = NULL;
for (bool gotone = m_device.machine().devicelist().first(sound); gotone; gotone = sound->next(sound))
{
// scan each route on the device
for (const sound_route *route = sound->first_route(); route != NULL; route = route->next())
{
// see if we are the target of this route; if we are, make sure the source device is started
device_t *target_device = m_device.machine().device(route->m_target);
if (target_device == &m_device && !sound->device().started())
throw device_missing_dependencies();
}
}
// now iterate through devices again and assign any auto-allocated inputs
m_auto_allocated_inputs = 0;
for (bool gotone = m_device.machine().devicelist().first(sound); gotone; gotone = sound->next(sound))
{
// scan each route on the device
for (const sound_route *route = sound->first_route(); route != NULL; route = route->next())
{
// see if we are the target of this route
device_t *target_device = m_device.machine().device(route->m_target);
if (target_device == &m_device && route->m_input == AUTO_ALLOC_INPUT)
{
const_cast<sound_route *>(route)->m_input = m_auto_allocated_inputs;
m_auto_allocated_inputs += (route->m_output == ALL_OUTPUTS) ? sound->outputs() : 1;
}
}
}
}
开发者ID:rogerjowett,项目名称:ClientServerMAME,代码行数:33,代码来源:disound.c
示例11: iter
void device_sound_interface::interface_pre_start()
{
// scan all the sound devices
sound_interface_iterator iter(m_device.machine().root_device());
for (device_sound_interface const &sound : iter)
{
// scan each route on the device
for (sound_route const &route : sound.routes())
{
// see if we are the target of this route; if we are, make sure the source device is started
device_t *const target_device = route.m_base.get().subdevice(route.m_target.c_str());
if ((target_device == &m_device) && !sound.device().started())
throw device_missing_dependencies();
}
}
// now iterate through devices again and assign any auto-allocated inputs
m_auto_allocated_inputs = 0;
for (device_sound_interface &sound : iter)
{
// scan each route on the device
for (sound_route &route : sound.routes())
{
// see if we are the target of this route
device_t *const target_device = route.m_base.get().subdevice(route.m_target.c_str());
if ((target_device == &m_device) && (route.m_input == AUTO_ALLOC_INPUT))
{
route.m_input = m_auto_allocated_inputs;
m_auto_allocated_inputs += (route.m_output == ALL_OUTPUTS) ? sound.outputs() : 1;
}
}
}
}
开发者ID:PugsyMAME,项目名称:mame,代码行数:33,代码来源:disound.cpp
示例12: device_missing_dependencies
void deco16ic_device::device_start()
{
if(!m_gfxdecode->started())
throw device_missing_dependencies();
m_bank1_cb.bind_relative_to(*owner());
m_bank2_cb.bind_relative_to(*owner());
int fullheight = 0;
int fullwidth = 0;
if (m_full_width12&2)
fullheight = 1;
if (m_full_width12&1)
fullwidth = 1;
m_pf1_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ?64 : 32);
// m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, m_full_width12 ? 64 : 32, 32);
m_pf1_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf1_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, 64 , 32); // nitroball
if (m_split)
m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32);
else
m_pf2_tilemap_16x16 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info),this), tilemap_mapper_delegate(FUNC(deco16ic_device::deco16_scan_rows),this), 16, 16, fullwidth ? 64 : 32, fullheight ? 64 : 32);
m_pf2_tilemap_8x8 = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(deco16ic_device::get_pf2_tile_info_b),this), TILEMAP_SCAN_ROWS, 8, 8, fullwidth ? 64 : 32, fullheight ? 64 : 32);
m_pf1_tilemap_8x8->set_transparent_pen(0);
m_pf2_tilemap_8x8->set_transparent_pen(0);
m_pf1_tilemap_16x16->set_transparent_pen(0);
m_pf2_tilemap_16x16->set_transparent_pen(0);
if (m_split) /* Caveman Ninja only */
m_pf2_tilemap_16x16->set_transmask(0, 0x00ff, 0xff01);
m_pf1_8bpp_mode = 0;
m_pf1_data = make_unique_clear<UINT16[]>(0x2000 / 2);
m_pf2_data = make_unique_clear<UINT16[]>(0x2000 / 2);
m_pf12_control = make_unique_clear<UINT16[]>(0x10 / 2);
save_item(NAME(m_use_custom_pf1));
save_item(NAME(m_use_custom_pf2));
save_item(NAME(m_pf1_bank));
save_item(NAME(m_pf2_bank));
save_item(NAME(m_pf12_8x8_gfx_bank));
save_item(NAME(m_pf12_16x16_gfx_bank));
save_item(NAME(m_pf12_last_small));
save_item(NAME(m_pf12_last_big));
save_item(NAME(m_pf1_8bpp_mode));
save_pointer(NAME(m_pf1_data.get()), 0x2000 / 2);
save_pointer(NAME(m_pf2_data.get()), 0x2000 / 2);
save_pointer(NAME(m_pf12_control.get()), 0x10 / 2);
}
开发者ID:DragonMinded,项目名称:mame,代码行数:58,代码来源:deco16ic.cpp
示例13: device_missing_dependencies
void segaic16_video_device::device_start()
{
if(!m_gfxdecode->started())
throw device_missing_dependencies();
save_item(NAME(m_display_enable));
m_pagelatch_cb.bind_relative_to(*owner());
}
开发者ID:bradhugh,项目名称:mame,代码行数:9,代码来源:segaic16.cpp
示例14: fatalerror
void device_gio64_card_interface::interface_pre_start()
{
device_slot_card_interface::interface_pre_start();
if (!m_gio64)
{
fatalerror("Can't find SGI GIO64 device\n");
}
if (!m_gio64->started())
throw device_missing_dependencies();
}
开发者ID:fesh0r,项目名称:mame-full,代码行数:12,代码来源:gio64.cpp
示例15: device_missing_dependencies
void k052109_device::device_start()
{
if (m_screen.found())
{
// make sure our screen is started
if (!m_screen->started())
throw device_missing_dependencies();
// and register a callback for vblank state
m_screen->register_vblank_callback(vblank_state_delegate(&k052109_device::vblank_callback, this));
}
decode_gfx();
gfx(0)->set_colors(palette().entries() / gfx(0)->depth());
m_ram = make_unique_clear<uint8_t[]>(0x6000);
m_colorram_F = &m_ram[0x0000];
m_colorram_A = &m_ram[0x0800];
m_colorram_B = &m_ram[0x1000];
m_videoram_F = &m_ram[0x2000];
m_videoram_A = &m_ram[0x2800];
m_videoram_B = &m_ram[0x3000];
m_videoram2_F = &m_ram[0x4000];
m_videoram2_A = &m_ram[0x4800];
m_videoram2_B = &m_ram[0x5000];
m_tilemap[0] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[1] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[2] = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k052109_device::get_tile_info2),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_tilemap[0]->set_transparent_pen(0);
m_tilemap[1]->set_transparent_pen(0);
m_tilemap[2]->set_transparent_pen(0);
// bind callbacks
m_k052109_cb.bind_relative_to(*owner());
// resolve callbacks
m_irq_handler.resolve_safe();
m_firq_handler.resolve_safe();
m_nmi_handler.resolve_safe();
save_pointer(NAME(m_ram), 0x6000);
save_item(NAME(m_rmrd_line));
save_item(NAME(m_romsubbank));
save_item(NAME(m_scrollctrl));
save_item(NAME(m_irq_enabled));
save_item(NAME(m_charrombank));
save_item(NAME(m_charrombank_2));
save_item(NAME(m_has_extra_video_ram));
}
开发者ID:fesh0r,项目名称:mame-full,代码行数:52,代码来源:k052109.cpp
示例16: device_missing_dependencies
void tc0280grd_device::device_start()
{
if(!m_gfxdecode->started())
throw device_missing_dependencies();
m_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(tc0280grd_device::tc0280grd_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_tilemap->set_transparent_pen(0);
m_ram = make_unique_clear<UINT16[]>(TC0280GRD_RAM_SIZE / 2);
save_pointer(NAME(m_ram.get()), TC0280GRD_RAM_SIZE / 2);
save_item(NAME(m_ctrl));
}
开发者ID:DragonMinded,项目名称:mame,代码行数:13,代码来源:tc0280grd.cpp
示例17: device_missing_dependencies
void vs920a_text_tilemap_device::device_start()
{
if(!m_gfxdecode->started())
throw device_missing_dependencies();
m_vram = (UINT16*)auto_alloc_array_clear(this->machine(), UINT16, 0x1000/2);
save_pointer(NAME(m_vram), 0x1000/2);
save_item(NAME(m_pal_base));
m_tmap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(vs920a_text_tilemap_device::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
m_tmap->set_transparent_pen(0);
}
开发者ID:mbcoguno,项目名称:mame,代码行数:13,代码来源:vs920a.c
示例18: device_missing_dependencies
void vs920a_text_tilemap_device::device_start()
{
if(!m_gfxdecode->started())
throw device_missing_dependencies();
m_vram = make_unique_clear<uint16_t[]>(0x1000/2);
save_pointer(NAME(m_vram.get()), 0x1000/2);
save_item(NAME(m_pal_base));
m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(vs920a_text_tilemap_device::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
m_tmap->set_transparent_pen(0);
}
开发者ID:Robbbert,项目名称:store1,代码行数:13,代码来源:vs920a.cpp
示例19: device_missing_dependencies
void isa8_mda_device::device_start()
{
if (m_palette != NULL && !m_palette->started())
throw device_missing_dependencies();
set_isa_device();
m_videoram.resize(0x1000);
m_isa->install_device(0x3b0, 0x3bf, 0, 0, read8_delegate( FUNC(isa8_mda_device::io_read), this ), write8_delegate( FUNC(isa8_mda_device::io_write), this ) );
m_isa->install_bank(0xb0000, 0xb0fff, 0, 0x07000, "bank_mda", m_videoram);
/* Initialise the mda palette */
for(int i = 0; i < 4; i++)
m_palette->set_pen_color(i, rgb_t(mda_palette[i][0], mda_palette[i][1], mda_palette[i][2]));
}
开发者ID:Oggom,项目名称:libretro-mame,代码行数:14,代码来源:mda.c
示例20: device_missing_dependencies
void laserdisc_device::device_start()
{
// if we have a palette and it's not started, wait for it
if (m_overlay_palette != nullptr && !m_overlay_palette->started())
throw device_missing_dependencies();
// initialize the various pieces
init_disc();
init_video();
init_audio();
// register callbacks
machine().configuration().config_register("laserdisc", config_saveload_delegate(FUNC(laserdisc_device::config_load), this), config_saveload_delegate(FUNC(laserdisc_device::config_save), this));
}
开发者ID:DragonMinded,项目名称:mame,代码行数:14,代码来源:laserdsc.cpp
注:本文中的device_missing_dependencies函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论