trunk/src/emu/clifront.c
| r242893 | r242894 | |
| 18 | 18 | #include "un7z.h" |
| 19 | 19 | #include "validity.h" |
| 20 | 20 | #include "sound/samples.h" |
| 21 | #include "cliopts.h" |
| 21 | 22 | #include "clifront.h" |
| 22 | 23 | #include "xmlfile.h" |
| 23 | 24 | |
| r242893 | r242894 | |
| 27 | 28 | #include <ctype.h> |
| 28 | 29 | |
| 29 | 30 | |
| 30 | | //************************************************************************** |
| 31 | | // COMMAND-LINE OPTIONS |
| 32 | | //************************************************************************** |
| 33 | 31 | |
| 34 | | const options_entry cli_options::s_option_entries[] = |
| 35 | | { |
| 36 | | /* core commands */ |
| 37 | | { NULL, NULL, OPTION_HEADER, "CORE COMMANDS" }, |
| 38 | | { CLICOMMAND_HELP ";h;?", "0", OPTION_COMMAND, "show help message" }, |
| 39 | | { CLICOMMAND_VALIDATE ";valid", "0", OPTION_COMMAND, "perform driver validation on all game drivers" }, |
| 40 | | |
| 41 | | /* configuration commands */ |
| 42 | | { NULL, NULL, OPTION_HEADER, "CONFIGURATION COMMANDS" }, |
| 43 | | { CLICOMMAND_CREATECONFIG ";cc", "0", OPTION_COMMAND, "create the default configuration file" }, |
| 44 | | { CLICOMMAND_SHOWCONFIG ";sc", "0", OPTION_COMMAND, "display running parameters" }, |
| 45 | | { CLICOMMAND_SHOWUSAGE ";su", "0", OPTION_COMMAND, "show this help" }, |
| 46 | | |
| 47 | | /* frontend commands */ |
| 48 | | { NULL, NULL, OPTION_HEADER, "FRONTEND COMMANDS" }, |
| 49 | | { CLICOMMAND_LISTXML ";lx", "0", OPTION_COMMAND, "all available info on driver in XML format" }, |
| 50 | | { CLICOMMAND_LISTFULL ";ll", "0", OPTION_COMMAND, "short name, full name" }, |
| 51 | | { CLICOMMAND_LISTSOURCE ";ls", "0", OPTION_COMMAND, "driver sourcefile" }, |
| 52 | | { CLICOMMAND_LISTCLONES ";lc", "0", OPTION_COMMAND, "show clones" }, |
| 53 | | { CLICOMMAND_LISTBROTHERS ";lb", "0", OPTION_COMMAND, "show \"brothers\", or other drivers from same sourcefile" }, |
| 54 | | { CLICOMMAND_LISTCRC, "0", OPTION_COMMAND, "CRC-32s" }, |
| 55 | | { CLICOMMAND_LISTROMS ";lr", "0", OPTION_COMMAND, "list required roms for a driver" }, |
| 56 | | { CLICOMMAND_LISTSAMPLES, "0", OPTION_COMMAND, "list optional samples for a driver" }, |
| 57 | | { CLICOMMAND_VERIFYROMS, "0", OPTION_COMMAND, "report romsets that have problems" }, |
| 58 | | { CLICOMMAND_VERIFYSAMPLES, "0", OPTION_COMMAND, "report samplesets that have problems" }, |
| 59 | | { CLICOMMAND_ROMIDENT, "0", OPTION_COMMAND, "compare files with known MAME roms" }, |
| 60 | | { CLICOMMAND_LISTDEVICES ";ld", "0", OPTION_COMMAND, "list available devices" }, |
| 61 | | { CLICOMMAND_LISTSLOTS ";lslot", "0", OPTION_COMMAND, "list available slots and slot devices" }, |
| 62 | | { CLICOMMAND_LISTMEDIA ";lm", "0", OPTION_COMMAND, "list available media for the system" }, |
| 63 | | { CLICOMMAND_LISTSOFTWARE ";lsoft", "0", OPTION_COMMAND, "list known software for the system" }, |
| 64 | | { CLICOMMAND_VERIFYSOFTWARE ";vsoft", "0", OPTION_COMMAND, "verify known software for the system" }, |
| 65 | | { CLICOMMAND_GETSOFTLIST ";glist", "0", OPTION_COMMAND, "retrieve software list by name" }, |
| 66 | | { CLICOMMAND_VERIFYSOFTLIST ";vlist", "0", OPTION_COMMAND, "verify software list by name" }, |
| 67 | | { CLICOMMAND_LIST_MIDI_DEVICES ";mlist", "0", OPTION_COMMAND, "list available MIDI I/O devices" }, |
| 68 | | { CLICOMMAND_LIST_NETWORK_ADAPTERS ";nlist", "0", OPTION_COMMAND, "list available network adapters" }, |
| 69 | | { NULL } |
| 70 | | }; |
| 71 | | |
| 72 | 32 | // media_identifier class identifies media by hash via a search in |
| 73 | 33 | // the driver database |
| 74 | 34 | class media_identifier |
| r242893 | r242894 | |
| 98 | 58 | }; |
| 99 | 59 | |
| 100 | 60 | |
| 101 | | |
| 102 | 61 | //************************************************************************** |
| 103 | | // CLI OPTIONS |
| 104 | | //************************************************************************** |
| 105 | | |
| 106 | | //------------------------------------------------- |
| 107 | | // cli_options - constructor |
| 108 | | //------------------------------------------------- |
| 109 | | |
| 110 | | cli_options::cli_options() |
| 111 | | : emu_options() |
| 112 | | { |
| 113 | | add_entries(cli_options::s_option_entries); |
| 114 | | } |
| 115 | | |
| 116 | | |
| 117 | | |
| 118 | | //************************************************************************** |
| 119 | 62 | // CLI FRONTEND |
| 120 | 63 | //************************************************************************** |
| 121 | 64 | |
| r242893 | r242894 | |
| 805 | 748 | } |
| 806 | 749 | |
| 807 | 750 | //------------------------------------------------- |
| 808 | | // listmididevices - output the list of MIDI devices |
| 809 | | // available in the current system to be used |
| 810 | | //------------------------------------------------- |
| 811 | | |
| 812 | | void cli_frontend::listmididevices(const char *gamename) |
| 813 | | { |
| 814 | | m_osd.list_midi_devices(); |
| 815 | | } |
| 816 | | |
| 817 | | |
| 818 | | //------------------------------------------------- |
| 819 | | // listnetworkadapters - output the list of network |
| 820 | | // adapters available in the current system to be used |
| 821 | | //------------------------------------------------- |
| 822 | | |
| 823 | | void cli_frontend::listnetworkadapters(const char *gamename) |
| 824 | | { |
| 825 | | m_osd.list_network_adapters(); |
| 826 | | } |
| 827 | | |
| 828 | | |
| 829 | | //------------------------------------------------- |
| 830 | 751 | // verifyroms - verify the ROM sets of one or |
| 831 | 752 | // more games |
| 832 | 753 | //------------------------------------------------- |
| r242893 | r242894 | |
| 1679 | 1600 | { CLICOMMAND_VERIFYSAMPLES, &cli_frontend::verifysamples }, |
| 1680 | 1601 | { CLICOMMAND_LISTMEDIA, &cli_frontend::listmedia }, |
| 1681 | 1602 | { CLICOMMAND_LISTSOFTWARE, &cli_frontend::listsoftware }, |
| 1682 | | { CLICOMMAND_VERIFYSOFTWARE, &cli_frontend::verifysoftware }, |
| 1603 | { CLICOMMAND_VERIFYSOFTWARE,&cli_frontend::verifysoftware }, |
| 1683 | 1604 | { CLICOMMAND_ROMIDENT, &cli_frontend::romident }, |
| 1684 | 1605 | { CLICOMMAND_GETSOFTLIST, &cli_frontend::getsoftlist }, |
| 1685 | | { CLICOMMAND_VERIFYSOFTLIST, &cli_frontend::verifysoftlist }, |
| 1686 | | { CLICOMMAND_LIST_MIDI_DEVICES, &cli_frontend::listmididevices }, |
| 1687 | | { CLICOMMAND_LIST_NETWORK_ADAPTERS, &cli_frontend::listnetworkadapters }, |
| 1606 | { CLICOMMAND_VERIFYSOFTLIST,&cli_frontend::verifysoftlist }, |
| 1688 | 1607 | }; |
| 1689 | 1608 | |
| 1690 | 1609 | // find the command |
| r242893 | r242894 | |
| 1697 | 1616 | return; |
| 1698 | 1617 | } |
| 1699 | 1618 | |
| 1700 | | // if we get here, we don't know what has been requested |
| 1701 | | throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command()); |
| 1619 | if (!m_osd.execute_command(m_options.command())) |
| 1620 | // if we get here, we don't know what has been requested |
| 1621 | throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command()); |
| 1702 | 1622 | } |
| 1703 | 1623 | |
| 1704 | 1624 | |
trunk/src/osd/modules/lib/osdobj_common.c
| r242893 | r242894 | |
| 20 | 20 | |
| 21 | 21 | const options_entry osd_options::s_option_entries[] = |
| 22 | 22 | { |
| 23 | { NULL, NULL, OPTION_HEADER, "OSD CLI OPTIONS" }, |
| 24 | { OSDCOMMAND_LIST_MIDI_DEVICES ";mlist", "0", OPTION_COMMAND, "list available MIDI I/O devices" }, |
| 25 | { OSDCOMMAND_LIST_NETWORK_ADAPTERS ";nlist", "0", OPTION_COMMAND, "list available network adapters" }, |
| 26 | |
| 23 | 27 | // debugging options |
| 24 | 28 | { NULL, NULL, OPTION_HEADER, "OSD DEBUGGING OPTIONS" }, |
| 25 | 29 | { OSDOPTION_DEBUGGER, OSDOPTVAL_AUTO, OPTION_STRING, "debugger used : " }, |
| r242893 | r242894 | |
| 375 | 379 | // get_slider_list - allocate and populate a |
| 376 | 380 | // list of OS-dependent slider values. |
| 377 | 381 | //------------------------------------------------- |
| 382 | |
| 378 | 383 | void *osd_common_t::get_slider_list() |
| 379 | 384 | { |
| 380 | 385 | return NULL; |
| 381 | 386 | } |
| 382 | 387 | |
| 388 | //------------------------------------------------- |
| 389 | // execute_command - execute a command not yet |
| 390 | // handled by the core |
| 391 | //------------------------------------------------- |
| 392 | |
| 393 | bool osd_common_t::execute_command(const char *command) |
| 394 | { |
| 395 | if (strcmp(command, OSDCOMMAND_LIST_NETWORK_ADAPTERS) == 0) |
| 396 | { |
| 397 | network_init(); |
| 398 | osd_list_network_adapters(); |
| 399 | network_exit(); |
| 400 | return true; |
| 401 | } |
| 402 | else if (strcmp(command, OSDCOMMAND_LIST_MIDI_DEVICES) == 0) |
| 403 | { |
| 404 | osd_list_midi_devices(); |
| 405 | return true; |
| 406 | } |
| 407 | |
| 408 | return false; |
| 409 | |
| 410 | } |
| 411 | |
| 383 | 412 | void osd_common_t::init_subsystems() |
| 384 | 413 | { |
| 385 | 414 | if (!video_init()) |
| r242893 | r242894 | |
| 537 | 566 | return osd_midi_init(); |
| 538 | 567 | } |
| 539 | 568 | |
| 540 | | //------------------------------------------------- |
| 541 | | // list_midi_devices - list available midi devices |
| 542 | | //------------------------------------------------- |
| 543 | | |
| 544 | | void osd_common_t::list_midi_devices(void) |
| 545 | | { |
| 546 | | osd_list_midi_devices(); |
| 547 | | } |
| 548 | | |
| 549 | 569 | void osd_common_t::midi_exit() |
| 550 | 570 | { |
| 551 | 571 | osd_midi_exit(); |