diff options
author | 2016-04-12 14:37:22 +0200 | |
---|---|---|
committer | 2016-04-12 14:37:22 +0200 | |
commit | c1600cafd92f045df8e5bbc1a74264cd71ab4a6e (patch) | |
tree | 931352496df7e4cb279f35663ad274c4ecd005b2 /src/emu/ui/mainmenu.cpp | |
parent | b47168d7e6e002a7c478a0a42e4f97c56ec280dc (diff) |
diimage.cpp: Allow image devices to be configured with a fixed
(not user selectable) piece of software and updated a few options
and menu to acknowledge such possibility. [Fabio Priuli]
macs.cpp: Converted to use generic cartslot with fixed software
configuration. Cleaned up loading and banking systems in the driver
as a result. [Fabio Priuli]
Diffstat (limited to 'src/emu/ui/mainmenu.cpp')
-rw-r--r-- | src/emu/ui/mainmenu.cpp | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/src/emu/ui/mainmenu.cpp b/src/emu/ui/mainmenu.cpp index 33156e21ec2..b2935049b9a 100644 --- a/src/emu/ui/mainmenu.cpp +++ b/src/emu/ui/mainmenu.cpp @@ -72,47 +72,46 @@ void ui_menu_main::populate() item_append(_("Machine Information"), nullptr, 0, (void *)GAME_INFO); image_interface_iterator imgiter(machine().root_device()); - if (imgiter.first() != nullptr) - { - /* add image info menu */ - item_append(_("Image Information"), nullptr, 0, (void *)IMAGE_MENU_IMAGE_INFO); - - /* add file manager menu */ - item_append(_("File Manager"), nullptr, 0, (void *)IMAGE_MENU_FILE_MANAGER); - - /* add tape control menu */ - cassette_device_iterator cassiter(machine().root_device()); - if (cassiter.first() != nullptr) - item_append(_("Tape Control"), nullptr, 0, (void *)TAPE_CONTROL); - } - - pty_interface_iterator ptyiter(machine().root_device()); - if (ptyiter.first() != nullptr) { - item_append(_("Pseudo terminals"), nullptr, 0, (void *)PTY_INFO); - } - if (machine().ioport().has_bioses()) + for (device_image_interface *image = imgiter.first(); image != nullptr; image = imgiter.next()) + { + if (image->user_loadable()) + { + /* add image info menu */ + item_append(_("Image Information"), nullptr, 0, (void *)IMAGE_MENU_IMAGE_INFO); + + /* add file manager menu */ + item_append(_("File Manager"), nullptr, 0, (void *)IMAGE_MENU_FILE_MANAGER); + + break; + } + } + + /* add tape control menu */ + cassette_device_iterator cassiter(machine().root_device()); + if (cassiter.first() != nullptr) + item_append(_("Tape Control"), nullptr, 0, (void *)TAPE_CONTROL); + + pty_interface_iterator ptyiter(machine().root_device()); + if (ptyiter.first() != nullptr) + item_append(_("Pseudo terminals"), nullptr, 0, (void *)PTY_INFO); + + if (machine().ioport().has_bioses()) item_append(_("Bios Selection"), nullptr, 0, (void *)BIOS_SELECTION); + /* add slot info menu */ slot_interface_iterator slotiter(machine().root_device()); if (slotiter.first() != nullptr) - { - /* add slot info menu */ item_append(_("Slot Devices"), nullptr, 0, (void *)SLOT_DEVICES); - } + /* add Barcode reader menu */ barcode_reader_device_iterator bcriter(machine().root_device()); if (bcriter.first() != nullptr) - { - /* add slot info menu */ item_append(_("Barcode Reader"), nullptr, 0, (void *)BARCODE_READ); - } + /* add network info menu */ network_interface_iterator netiter(machine().root_device()); if (netiter.first() != nullptr) - { - /* add image info menu */ item_append(_("Network Devices"), nullptr, 0, (void*)NETWORK_DEVICES); - } /* add keyboard mode menu */ if (machine().ioport().has_keyboard() && machine().ioport().natkeyboard().can_post()) |