diff options
-rw-r--r-- | src/emu/machine/idectrl.c | 2 | ||||
-rw-r--r-- | src/emu/machine/ldcore.c | 2 | ||||
-rw-r--r-- | src/emu/machine/scsicd.c | 2 | ||||
-rw-r--r-- | src/emu/machine/scsihd.c | 2 | ||||
-rw-r--r-- | src/emu/mame.h | 4 | ||||
-rw-r--r-- | src/emu/romload.c | 101 | ||||
-rw-r--r-- | src/emu/romload.h | 4 | ||||
-rw-r--r-- | src/emu/ui.c | 4 | ||||
-rw-r--r-- | src/emu/validity.c | 101 | ||||
-rw-r--r-- | src/ldplayer/ldplayer.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/konamim2.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/ksys573.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/taitogn.c | 4 | ||||
-rw-r--r-- | src/mame/machine/cubocd32.c | 2 | ||||
-rw-r--r-- | src/mame/machine/naomibd.c | 2 | ||||
-rw-r--r-- | src/mame/machine/stvcd.c | 2 |
16 files changed, 125 insertions, 119 deletions
diff --git a/src/emu/machine/idectrl.c b/src/emu/machine/idectrl.c index d480a83fd80..58f16119a8a 100644 --- a/src/emu/machine/idectrl.c +++ b/src/emu/machine/idectrl.c @@ -1801,7 +1801,7 @@ static DEVICE_START( ide_controller ) /* set MAME harddisk handle */ config = (const ide_config *)device->inline_config; - ide->handle = get_disk_handle((config->master != NULL) ? config->master : device->tag); + ide->handle = get_disk_handle(device->machine, (config->master != NULL) ? config->master : device->tag); ide->disk = hard_disk_open(ide->handle); assert_always(config->slave == NULL, "IDE controller does not yet support slave drives\n"); diff --git a/src/emu/machine/ldcore.c b/src/emu/machine/ldcore.c index 315d1595c79..f2286b3eaa3 100644 --- a/src/emu/machine/ldcore.c +++ b/src/emu/machine/ldcore.c @@ -1327,7 +1327,7 @@ static void init_disc(const device_config *device) if (config->getdisc != NULL) ldcore->disc = (*config->getdisc)(device); else - ldcore->disc = get_disk_handle(device->tag); + ldcore->disc = get_disk_handle(device->machine, device->tag); /* set default parameters */ ldcore->width = 720; diff --git a/src/emu/machine/scsicd.c b/src/emu/machine/scsicd.c index d6eb3af5c5c..bb1fef6e439 100644 --- a/src/emu/machine/scsicd.c +++ b/src/emu/machine/scsicd.c @@ -695,7 +695,7 @@ static void scsicd_alloc_instance( SCSIInstance *scsiInstance, const char *diskr /* TODO: get rid of this ifdef MESS section */ our_this->cdrom = mess_cd_get_cdrom_file( devtag_get_device( machine, diskregion ) ); #else - our_this->cdrom = cdrom_open(get_disk_handle( diskregion )); + our_this->cdrom = cdrom_open(get_disk_handle( machine, diskregion )); if (!our_this->cdrom) { diff --git a/src/emu/machine/scsihd.c b/src/emu/machine/scsihd.c index 30744e91026..978427a1224 100644 --- a/src/emu/machine/scsihd.c +++ b/src/emu/machine/scsihd.c @@ -237,7 +237,7 @@ static void scsihd_alloc_instance( SCSIInstance *scsiInstance, const char *diskr /* TODO: get rid of this ifdef MESS section */ our_this->disk = mess_hd_get_hard_disk_file( devtag_get_device( machine, diskregion ) ); #else - our_this->disk = hard_disk_open(get_disk_handle( diskregion )); + our_this->disk = hard_disk_open(get_disk_handle( machine, diskregion )); if (!our_this->disk) { diff --git a/src/emu/mame.h b/src/emu/mame.h index 399ea8df880..375d3a07331 100644 --- a/src/emu/mame.h +++ b/src/emu/mame.h @@ -133,6 +133,7 @@ typedef struct _palette_private palette_private; typedef struct _tilemap_private tilemap_private; typedef struct _streams_private streams_private; typedef struct _devices_private devices_private; +typedef struct _romload_private romload_private; typedef struct _input_port_private input_port_private; typedef struct _ui_input_private ui_input_private; typedef struct _cheat_private cheat_private; @@ -182,6 +183,7 @@ struct _running_machine tilemap_private * tilemap_data; /* internal data from tilemap.c */ streams_private * streams_data; /* internal data from streams.c */ devices_private * devices_data; /* internal data from devices.c */ + romload_private * romload_data; /* internal data from romload.c */ input_port_private * input_port_data; /* internal data from inptport.c */ ui_input_private * ui_input_data; /* internal data from uiinput.c */ cheat_private * cheat_data; /* internal data from cheat.c */ @@ -223,7 +225,7 @@ struct _mame_system_time /*************************************************************************** - GLOBAL VARAIBLES + GLOBAL VARIABLES ***************************************************************************/ extern const char mame_disclaimer[]; diff --git a/src/emu/romload.c b/src/emu/romload.c index 49d8330b40d..860b4a9733b 100644 --- a/src/emu/romload.c +++ b/src/emu/romload.c @@ -34,8 +34,20 @@ TYPE DEFINITIONS ***************************************************************************/ -typedef struct _rom_load_data rom_load_data; -struct _rom_load_data +typedef struct _open_chd open_chd; +struct _open_chd +{ + open_chd * next; /* pointer to next in the list */ + const char * region; /* disk region we came from */ + chd_file * origchd; /* handle to the original CHD */ + mame_file * origfile; /* file handle to the original CHD file */ + chd_file * diffchd; /* handle to the diff CHD */ + mame_file * difffile; /* file handle to the diff CHD file */ +}; + + +typedef struct _romload_private rom_load_data; +struct _romload_private { running_machine *machine; /* machine object where needed */ int system_bios; /* the system BIOS we wish to load */ @@ -49,6 +61,8 @@ struct _rom_load_data UINT32 romstotalsize; /* total size of ROMs to read */ mame_file * file; /* current file */ + open_chd * chd_list; /* disks */ + open_chd ** chd_list_tailptr; UINT8 * regionbase; /* base of current region */ UINT32 regionlength; /* length of current region */ @@ -57,31 +71,6 @@ struct _rom_load_data }; -typedef struct _open_chd open_chd; -struct _open_chd -{ - open_chd * next; /* pointer to next in the list */ - const char * region; /* disk region we came from */ - chd_file * origchd; /* handle to the original CHD */ - mame_file * origfile; /* file handle to the original CHD file */ - chd_file * diffchd; /* handle to the diff CHD */ - mame_file * difffile; /* file handle to the diff CHD file */ -}; - - - -/*************************************************************************** - GLOBAL VARIABLES -***************************************************************************/ - -/* disks */ -static open_chd *chd_list; -static open_chd **chd_list_tailptr; - -static int total_rom_load_warnings; - - - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ @@ -99,11 +88,11 @@ static void rom_exit(running_machine *machine); CHD file associated with the given region -------------------------------------------------*/ -chd_file *get_disk_handle(const char *region) +chd_file *get_disk_handle(running_machine *machine, const char *region) { open_chd *curdisk; - for (curdisk = chd_list; curdisk != NULL; curdisk = curdisk->next) + for (curdisk = machine->romload_data->chd_list; curdisk != NULL; curdisk = curdisk->next) if (strcmp(curdisk->region, region) == 0) return (curdisk->diffchd != NULL) ? curdisk->diffchd : curdisk->origchd; return NULL; @@ -111,6 +100,21 @@ chd_file *get_disk_handle(const char *region) /*------------------------------------------------- + add_disk_handle - add a disk to the to the + list of CHD files +-------------------------------------------------*/ + +static void add_disk_handle(running_machine *machine, open_chd *chd) +{ + romload_private *romload_data = machine->romload_data; + + *romload_data->chd_list_tailptr = auto_alloc(machine, open_chd); + **romload_data->chd_list_tailptr = *chd; + romload_data->chd_list_tailptr = &(*romload_data->chd_list_tailptr)->next; +} + + +/*------------------------------------------------- set_disk_handle - set a pointer to the CHD file associated with the given region -------------------------------------------------*/ @@ -125,9 +129,7 @@ void set_disk_handle(running_machine *machine, const char *region, mame_file *fi chd.origfile = file; /* we're okay, add to the list of disks */ - *chd_list_tailptr = auto_alloc(machine, open_chd); - **chd_list_tailptr = chd; - chd_list_tailptr = &(*chd_list_tailptr)->next; + add_disk_handle(machine, &chd); } @@ -1225,9 +1227,7 @@ static void process_disk_entries(rom_load_data *romdata, const char *regiontag, /* we're okay, add to the list of disks */ LOG(("Assigning to handle %d\n", DISK_GETINDEX(romp))); - *chd_list_tailptr = auto_alloc(romdata->machine, open_chd); - **chd_list_tailptr = chd; - chd_list_tailptr = &(*chd_list_tailptr)->next; + add_disk_handle(romdata->machine, &chd); } } astring_free(filename); @@ -1338,33 +1338,34 @@ static void process_region_list(rom_load_data *romdata) void rom_init(running_machine *machine) { - rom_load_data romdata; + rom_load_data *romdata; + + /* allocate private data */ + machine->romload_data = romdata = auto_alloc_clear(machine, romload_private); /* make sure we get called back on the way out */ add_exit_callback(machine, rom_exit); /* reset the romdata struct */ - memset(&romdata, 0, sizeof(romdata)); - romdata.machine = machine; - romdata.errorstring = astring_alloc(); + romdata->machine = machine; + romdata->errorstring = astring_alloc(); /* figure out which BIOS we are using */ - determine_bios_rom(&romdata); + determine_bios_rom(romdata); /* count the total number of ROMs */ - count_roms(&romdata); + count_roms(romdata); /* reset the disk list */ - chd_list = NULL; - chd_list_tailptr = &chd_list; + romdata->chd_list = NULL; + romdata->chd_list_tailptr = &machine->romload_data->chd_list; /* process the ROM entries we were passed */ - process_region_list(&romdata); + process_region_list(romdata); /* display the results and exit */ - total_rom_load_warnings = romdata.warnings; - display_rom_load_results(&romdata); - astring_free(romdata.errorstring); + display_rom_load_results(romdata); + astring_free(romdata->errorstring); } @@ -1385,7 +1386,7 @@ static void rom_exit(running_machine *machine) } /* close all hard drives */ - for (curchd = chd_list; curchd != NULL; curchd = curchd->next) + for (curchd = machine->romload_data->chd_list; curchd != NULL; curchd = curchd->next) { if (curchd->diffchd != NULL) chd_close(curchd->diffchd); @@ -1404,7 +1405,7 @@ static void rom_exit(running_machine *machine) warnings we generated -------------------------------------------------*/ -int rom_load_warnings(void) +int rom_load_warnings(running_machine *machine) { - return total_rom_load_warnings; + return machine->romload_data->warnings; } diff --git a/src/emu/romload.h b/src/emu/romload.h index d37c72d95ac..1bd923fba33 100644 --- a/src/emu/romload.h +++ b/src/emu/romload.h @@ -276,7 +276,7 @@ struct _rom_entry void rom_init(running_machine *machine); /* return the number of warnings we generated */ -int rom_load_warnings(void); +int rom_load_warnings(running_machine *machine); @@ -320,7 +320,7 @@ chd_error open_disk_image(const game_driver *gamedrv, const rom_entry *romp, mam chd_error open_disk_image_options(core_options *options, const game_driver *gamedrv, const rom_entry *romp, mame_file **image_file, chd_file **image_chd); /* return a pointer to the CHD file associated with the given region */ -chd_file *get_disk_handle(const char *region); +chd_file *get_disk_handle(running_machine *machine, const char *region); /* set a pointer to the CHD file associated with the given region */ void set_disk_handle(running_machine *machine, const char *region, mame_file *file, chd_file *chd); diff --git a/src/emu/ui.c b/src/emu/ui.c index a71e7986888..1e5c2803a73 100644 --- a/src/emu/ui.c +++ b/src/emu/ui.c @@ -876,11 +876,11 @@ static astring *warnings_string(running_machine *machine, astring *string) astring_reset(string); /* if no warnings, nothing to return */ - if (rom_load_warnings() == 0 && !(machine->gamedrv->flags & WARNING_FLAGS)) + if (rom_load_warnings(machine) == 0 && !(machine->gamedrv->flags & WARNING_FLAGS)) return string; /* add a warning if any ROMs were loaded with warnings */ - if (rom_load_warnings() > 0) + if (rom_load_warnings(machine) > 0) { astring_catc(string, "One or more ROMs/CHDs for this game are incorrect. The " GAMENOUN " may not run correctly.\n"); if (machine->gamedrv->flags & WARNING_FLAGS) diff --git a/src/emu/validity.c b/src/emu/validity.c index bfcde153c9b..8bde36b40e9 100644 --- a/src/emu/validity.c +++ b/src/emu/validity.c @@ -85,16 +85,15 @@ struct _quark_table }; - -/*************************************************************************** - GLOBAL VARIABLES -***************************************************************************/ - -static quark_table *source_table; -static quark_table *name_table; -static quark_table *description_table; -static quark_table *roms_table; -static quark_table *defstr_table; +typedef struct _quark_tables quark_tables; +struct _quark_tables +{ + quark_table *source; + quark_table *name; + quark_table *description; + quark_table *roms; + quark_table *defstr; +}; @@ -254,15 +253,15 @@ static quark_table *quark_table_alloc(UINT32 entries, UINT32 hashsize) string operations -------------------------------------------------*/ -static void quark_tables_create(void) +static void quark_tables_create(quark_tables *tables) { int drivnum = driver_list_get_count(drivers), strnum; /* allocate memory for the quark tables */ - source_table = quark_table_alloc(drivnum, QUARK_HASH_SIZE); - name_table = quark_table_alloc(drivnum, QUARK_HASH_SIZE); - description_table = quark_table_alloc(drivnum, QUARK_HASH_SIZE); - roms_table = quark_table_alloc(drivnum, QUARK_HASH_SIZE); + tables->source = quark_table_alloc(drivnum, QUARK_HASH_SIZE); + tables->name = quark_table_alloc(drivnum, QUARK_HASH_SIZE); + tables->description = quark_table_alloc(drivnum, QUARK_HASH_SIZE); + tables->roms = quark_table_alloc(drivnum, QUARK_HASH_SIZE); /* build the quarks and the hash tables */ for (drivnum = 0; drivers[drivnum]; drivnum++) @@ -270,24 +269,24 @@ static void quark_tables_create(void) const game_driver *driver = drivers[drivnum]; /* fill in the quark with hashes of the strings */ - quark_add(source_table, drivnum, quark_string_crc(driver->source_file)); - quark_add(name_table, drivnum, quark_string_crc(driver->name)); - quark_add(description_table, drivnum, quark_string_crc(driver->description)); + quark_add(tables->source, drivnum, quark_string_crc(driver->source_file)); + quark_add(tables->name, drivnum, quark_string_crc(driver->name)); + quark_add(tables->description, drivnum, quark_string_crc(driver->description)); /* only track actual driver ROM entries */ if (driver->rom && (driver->flags & GAME_NO_STANDALONE) == 0) - quark_add(roms_table, drivnum, (FPTR)driver->rom); + quark_add(tables->roms, drivnum, (FPTR)driver->rom); } /* allocate memory for a quark table of strings */ - defstr_table = quark_table_alloc(INPUT_STRING_COUNT, 97); + tables->defstr = quark_table_alloc(INPUT_STRING_COUNT, 97); /* add all the default strings */ for (strnum = 1; strnum < INPUT_STRING_COUNT; strnum++) { const char *string = input_port_string_from_index(strnum); if (string != NULL) - quark_add(defstr_table, strnum, quark_string_crc(string)); + quark_add(tables->defstr, strnum, quark_string_crc(string)); } } @@ -296,27 +295,27 @@ static void quark_tables_create(void) quark_tables_free - free allocated tables -------------------------------------------------*/ -static void quark_tables_free(void) +static void quark_tables_free(quark_tables *tables) { - if (source_table != NULL) - free(source_table); - source_table = NULL; + if (tables->source != NULL) + free(tables->source); + tables->source = NULL; - if (name_table != NULL) - free(name_table); - name_table = NULL; + if (tables->name != NULL) + free(tables->name); + tables->name = NULL; - if (description_table != NULL) - free(description_table); - description_table = NULL; + if (tables->description != NULL) + free(tables->description); + tables->description = NULL; - if (roms_table != NULL) - free(roms_table); - roms_table = NULL; + if (tables->roms != NULL) + free(tables->roms); + tables->roms = NULL; - if (defstr_table != NULL) - free(defstr_table); - defstr_table = NULL; + if (tables->defstr != NULL) + free(tables->defstr); + tables->defstr = NULL; } @@ -483,9 +482,12 @@ static int validate_inlines(void) information -------------------------------------------------*/ -static int validate_driver(int drivnum, const machine_config *config) +static int validate_driver(int drivnum, const machine_config *config, const quark_tables *tables) { const game_driver *driver = drivers[drivnum]; + quark_table *name_table = tables->name; + quark_table *description_table = tables->description; + quark_table *roms_table = tables->roms; const game_driver *clone_of; quark_entry *entry; int error = FALSE, is_clone; @@ -1005,7 +1007,7 @@ static int validate_gfx(int drivnum, const machine_config *config, region_info * strings -------------------------------------------------*/ -static int get_defstr_index(const char *name, const game_driver *driver, int *error) +static int get_defstr_index(quark_table *defstr_table, const char *name, const game_driver *driver, int *error) { UINT32 crc = quark_string_crc(name); quark_entry *entry; @@ -1144,7 +1146,7 @@ static void validate_analog_input_field(const input_field_config *field, const g setting -------------------------------------------------*/ -static void validate_dip_settings(const input_field_config *field, const game_driver *driver, int *error) +static void validate_dip_settings(const input_field_config *field, const game_driver *driver, quark_table *defstr_table, int *error) { const char *demo_sounds = input_port_string_from_index(INPUT_STRING_Demo_Sounds); const char *flipscreen = input_port_string_from_index(INPUT_STRING_Flip_Screen); @@ -1155,7 +1157,7 @@ static void validate_dip_settings(const input_field_config *field, const game_dr /* iterate through the settings */ for (setting = field->settinglist; setting != NULL; setting = setting->next) { - int strindex = get_defstr_index(setting->name, driver, error); + int strindex = get_defstr_index(defstr_table, setting->name, driver, error); /* note any coinage strings */ if (strindex >= INPUT_STRING_9C_1C && strindex <= INPUT_STRING_1C_9C) @@ -1185,7 +1187,7 @@ static void validate_dip_settings(const input_field_config *field, const game_dr /* if we have a neighbor, compare ourselves to him */ if (setting->next != NULL) { - int next_strindex = get_defstr_index(setting->next->name, driver, error); + int next_strindex = get_defstr_index(defstr_table, setting->next->name, driver, error); /* check for inverted off/on dispswitch order */ if (strindex == INPUT_STRING_On && next_strindex == INPUT_STRING_Off) @@ -1235,7 +1237,7 @@ static void validate_dip_settings(const input_field_config *field, const game_dr validate_inputs - validate input configuration -------------------------------------------------*/ -static int validate_inputs(int drivnum, const machine_config *config, const input_port_config **portlistptr) +static int validate_inputs(int drivnum, const machine_config *config, quark_table *defstr_table, const input_port_config **portlistptr) { const input_port_config *scanport; const input_port_config *port; @@ -1289,7 +1291,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu } /* verify the settings list */ - validate_dip_settings(field, driver, &error); + validate_dip_settings(field, driver, defstr_table, &error); } /* look for invalid (0) types which should be mapped to IPT_OTHER */ @@ -1324,7 +1326,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu } /* look up the string and print an error if default strings are not used */ - /*strindex = */get_defstr_index(field->name, driver, &error); + /*strindex = */get_defstr_index(defstr_table, field->name, driver, &error); } /* verify conditions on the field */ @@ -1593,6 +1595,7 @@ static int validate_devices(int drivnum, const machine_config *config, const inp int mame_validitychecks(const game_driver *curdriver) { + quark_tables tables; osd_ticks_t prep = 0; osd_ticks_t expansion = 0; osd_ticks_t driver_checks = 0; @@ -1647,7 +1650,7 @@ int mame_validitychecks(const game_driver *curdriver) /* prepare by pre-scanning all the drivers and adding their info to hash tables */ prep -= osd_profiling_ticks(); - quark_tables_create(); + quark_tables_create(&tables); prep += osd_profiling_ticks(); /* iterate over all drivers */ @@ -1671,7 +1674,7 @@ int mame_validitychecks(const game_driver *curdriver) /* validate the driver entry */ driver_checks -= osd_profiling_ticks(); - error = validate_driver(drivnum, config) || error; + error = validate_driver(drivnum, config, &tables) || error; driver_checks += osd_profiling_ticks(); /* validate the ROM information */ @@ -1681,7 +1684,7 @@ int mame_validitychecks(const game_driver *curdriver) /* validate input ports */ input_checks -= osd_profiling_ticks(); - error = validate_inputs(drivnum, config, &portlist) || error; + error = validate_inputs(drivnum, config, tables.defstr, &portlist) || error; input_checks += osd_profiling_ticks(); /* validate the CPU information */ @@ -1741,7 +1744,7 @@ int mame_validitychecks(const game_driver *curdriver) end_resource_tracking(); exit_resource_tracking(); - quark_tables_free(); + quark_tables_free(&tables); return error; } diff --git a/src/ldplayer/ldplayer.c b/src/ldplayer/ldplayer.c index 3be984e31a5..16453952314 100644 --- a/src/ldplayer/ldplayer.c +++ b/src/ldplayer/ldplayer.c @@ -141,7 +141,7 @@ static chd_file *get_disc(const device_config *device) if (image_file == NULL) fatalerror("No valid image file found!\n"); - return get_disk_handle("laserdisc"); + return get_disk_handle(device->machine, "laserdisc"); } diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c index 602aa4208a0..a398d410ce6 100644 --- a/src/mame/drivers/konamim2.c +++ b/src/mame/drivers/konamim2.c @@ -455,9 +455,9 @@ static cdrom_toc cde_toc; static CDE_DMA cde_dma[2]; -static void cde_init(void) +static void cde_init(running_machine *machine) { - cdrom_file *cd = cdrom_open(get_disk_handle("cdrom")); + cdrom_file *cd = cdrom_open(get_disk_handle(machine, "cdrom")); const cdrom_toc *toc = cdrom_get_toc(cd); if (cd) @@ -1231,7 +1231,7 @@ static DRIVER_INIT( m2 ) { unk3 = U64(0xffffffffffffffff); unk20004 = 0; - cde_init(); + cde_init(machine); } GAME( 1997, polystar, 0, m2, m2, m2, ROT0, "Konami", "Tobe! Polystars (ver JAA)", GAME_NOT_WORKING | GAME_NO_SOUND ) diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c index e1d7cc568ec..c76bcf75b54 100644 --- a/src/mame/drivers/ksys573.c +++ b/src/mame/drivers/ksys573.c @@ -1011,7 +1011,7 @@ static void atapi_exit(running_machine* machine) for( i = 0; i < 2; i++ ) { - if( get_disk_handle( diskregions[i] ) != NULL ) + if( get_disk_handle( machine, diskregions[i] ) != NULL ) { SCSIDeleteInstance( available_cdroms[ i ] ); } @@ -1039,7 +1039,7 @@ static void atapi_init(running_machine *machine) for( i = 0; i < 2; i++ ) { - if( get_disk_handle( diskregions[i] ) != NULL ) + if( get_disk_handle( machine, diskregions[i] ) != NULL ) { SCSIAllocInstance( machine, &SCSIClassCr589, &available_cdroms[ i ], diskregions[i] ); } diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c index 7835b200b38..6aea5fcd8a9 100644 --- a/src/mame/drivers/taitogn.c +++ b/src/mame/drivers/taitogn.c @@ -423,7 +423,7 @@ static WRITE32_HANDLER(rf5c296_mem_w) pos++; } else v = data; - chd_get_metadata(get_disk_handle("card"), HARD_DISK_KEY_METADATA_TAG, 0, key, 5, 0, 0, 0); + chd_get_metadata(get_disk_handle(space->machine, "card"), HARD_DISK_KEY_METADATA_TAG, 0, key, 5, 0, 0, 0); k = pos < 5 ? key[pos] : 0; if(v == k) locked &= ~(1 << pos); @@ -834,7 +834,7 @@ static DRIVER_INIT( coh3002t ) dip_timer = timer_alloc(machine, dip_timer_fired, NULL ); memset(cis, 0xff, 512); - chd_get_metadata(get_disk_handle("card"), PCMCIA_CIS_METADATA_TAG, 0, cis, 512, 0, 0, 0); + chd_get_metadata(get_disk_handle(machine, "card"), PCMCIA_CIS_METADATA_TAG, 0, cis, 512, 0, 0, 0); } static DRIVER_INIT( coh3002t_mp ) diff --git a/src/mame/machine/cubocd32.c b/src/mame/machine/cubocd32.c index 8c77d5462db..c4a4776f8a1 100644 --- a/src/mame/machine/cubocd32.c +++ b/src/mame/machine/cubocd32.c @@ -102,7 +102,7 @@ void amiga_akiko_init(running_machine* machine) akiko.cdrom_cmd_start = 0; akiko.cdrom_cmd_end = 0; akiko.cdrom_cmd_resp = 0; - akiko.cdrom = cdrom_open(get_disk_handle("cdrom")); + akiko.cdrom = cdrom_open(get_disk_handle(machine, "cdrom")); akiko.cdrom_toc = NULL; akiko.dma_timer = timer_alloc(machine, akiko_dma_proc, NULL); akiko.frame_timer = timer_alloc(machine, akiko_frame_proc, NULL); diff --git a/src/mame/machine/naomibd.c b/src/mame/machine/naomibd.c index c004ca62f55..3b22e070df6 100644 --- a/src/mame/machine/naomibd.c +++ b/src/mame/machine/naomibd.c @@ -946,7 +946,7 @@ static DEVICE_START( naomibd ) case DIMM_BOARD: v->memory = (UINT8 *)memory_region(device->machine, config->regiontag); - v->gdromchd = get_disk_handle(config->gdromregiontag); + v->gdromchd = get_disk_handle(device->machine, config->gdromregiontag); v->picdata = (UINT8 *)memory_region(device->machine, config->picregiontag); load_rom_gdrom(device->machine, v); break; diff --git a/src/mame/machine/stvcd.c b/src/mame/machine/stvcd.c index 36bb7f13cb9..15e24e0088a 100644 --- a/src/mame/machine/stvcd.c +++ b/src/mame/machine/stvcd.c @@ -261,7 +261,7 @@ void stvcd_reset(running_machine *machine) #ifdef MESS cdrom = mess_cd_get_cdrom_file(devtag_get_device( machine, "cdrom" )); #else - cdrom = cdrom_open(get_disk_handle("cdrom")); + cdrom = cdrom_open(get_disk_handle(machine, "cdrom")); #endif if (cdrom) |