void legacy_floppy_image_device::device_config_complete() { image_device_format **formatptr; image_device_format *format; formatptr = &m_formatlist; int cnt = 0; m_extension_list[0] = '\0'; const struct FloppyFormat *floppy_options = ((floppy_interface*)static_config())->formats; for (int i = 0; floppy_options[i].construct; i++) { // only add if creatable if (floppy_options[i].param_guidelines) { // allocate a new format format = global_alloc_clear(image_device_format); // populate it format->m_index = cnt; format->m_name = floppy_options[i].name; format->m_description = floppy_options[i].description; format->m_extensions = floppy_options[i].extensions; format->m_optspec = floppy_options[i].param_guidelines; // and append it to the list *formatptr = format; formatptr = &format->m_next; cnt++; } image_specify_extension( m_extension_list, 256, floppy_options[i].extensions ); } // set brief and instance name update_names(); }
void floppy_image_device::set_formats(const floppy_format_type *formats) { image_device_format **formatptr; image_device_format *format; formatptr = &m_formatlist; extension_list[0] = '\0'; fif_list = 0; for(int cnt=0; formats[cnt]; cnt++) { // allocate a new format floppy_image_format_t *fif = formats[cnt](); if(!fif_list) fif_list = fif; else fif_list->append(fif); format = global_alloc_clear(image_device_format); format->m_index = cnt; format->m_name = fif->name(); format->m_description = fif->description(); format->m_extensions = fif->extensions(); format->m_optspec = ""; image_specify_extension( extension_list, 256, fif->extensions() ); // and append it to the list *formatptr = format; formatptr = &format->m_next; } // set brief and instance name update_names(); }
void cassette_image_device::device_config_complete() { m_extension_list[0] = '\0'; for (int i = 0; m_formats[i]; i++ ) image_specify_extension( m_extension_list, 256, m_formats[i]->extensions ); // set brief and instance name update_names(); }
void legacy_floppy_image_device::device_config_complete() { m_extension_list[0] = '\0'; const struct FloppyFormat *floppy_options = m_config->formats; for (int i = 0; floppy_options[i].construct; i++) { // only add if creatable if (floppy_options[i].param_guidelines) { // allocate a new format and append it to the list m_formatlist.push_back(std::make_unique<image_device_format>(floppy_options[i].name, floppy_options[i].description, floppy_options[i].extensions, floppy_options[i].param_guidelines)); } image_specify_extension( m_extension_list, 256, floppy_options[i].extensions ); } // set brief and instance name update_names(); }
void floppy_image_device::set_formats(const floppy_format_type *formats) { extension_list[0] = '\0'; fif_list = NULL; for(int cnt=0; formats[cnt]; cnt++) { // allocate a new format floppy_image_format_t *fif = formats[cnt](); if(!fif_list) fif_list = fif; else fif_list->append(fif); m_formatlist.append(*global_alloc(image_device_format(fif->name(), fif->description(), fif->extensions(), ""))); image_specify_extension( extension_list, 256, fif->extensions() ); } // set brief and instance name update_names(); }
void cassette_image_device::device_config_complete() { // inherit a copy of the static data const cassette_interface *intf = reinterpret_cast<const cassette_interface *>(static_config()); if (intf != NULL) *static_cast<cassette_interface *>(this) = *intf; // or initialize to defaults if none provided else { memset(&m_formats, 0, sizeof(m_formats)); memset(&m_create_opts, 0, sizeof(m_create_opts)); memset(&m_default_state, 0, sizeof(m_default_state)); memset(&m_interface, 0, sizeof(m_interface)); memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo)); } m_extension_list[0] = '\0'; for (int i = 0; m_formats[i]; i++ ) image_specify_extension( m_extension_list, 256, m_formats[i]->extensions ); // set brief and instance name update_names(); }