1.1 --- a/src/dreamcast.c Sun Jul 05 13:54:48 2009 +1000
1.2 +++ b/src/dreamcast.c Fri Dec 04 08:44:02 2009 +1000
1.3 @@ -126,17 +126,39 @@
1.7 -void dreamcast_config_changed(void)
1.8 +gboolean dreamcast_load_bios( const gchar *filename )
1.10 - char *bios_path = lxdream_get_global_config_path_value(CONFIG_BIOS_PATH);
1.11 - char *flash_path = lxdream_get_global_config_path_value(CONFIG_FLASH_PATH);
1.12 - dreamcast_has_bios = mem_load_rom( dc_boot_rom, bios_path, 2 MB, 0x89f2b1a1 );
1.13 - if( flash_path != NULL && flash_path[0] != '\0' ) {
1.14 - mem_load_block( flash_path, 0x00200000, 0x00020000 );
1.15 + dreamcast_has_bios = mem_load_rom( dc_boot_rom, filename, 2 MB, 0x89f2b1a1 );
1.16 + return dreamcast_has_bios;
1.19 +gboolean dreamcast_load_flash( const gchar *filename )
1.21 + if( filename != NULL && filename[0] != '\0' ) {
1.22 + return mem_load_block( filename, 0x00200000, 0x00020000 ) == 0;
1.24 - g_free(bios_path);
1.25 - g_free(flash_path);
1.30 +gboolean dreamcast_config_changed(void *data, struct lxdream_config_group *group, unsigned item,
1.31 + const gchar *oldval, const gchar *newval)
1.35 + case CONFIG_BIOS_PATH:
1.36 + tmp = get_expanded_path(newval);
1.37 + dreamcast_load_bios(tmp);
1.40 + case CONFIG_FLASH_PATH:
1.41 + tmp = get_expanded_path(newval);
1.42 + dreamcast_load_flash(tmp);
1.50 void dreamcast_save_flash()