Added number of floppie configuration, fixed a bug in sound floppy configuration, better order in uaerc file

This commit is contained in:
fabio.olimpieri 2014-01-02 10:18:24 +00:00
parent e3e2a87ffe
commit dedaad0735
2 changed files with 126 additions and 96 deletions

View File

@ -26,8 +26,8 @@
#define ID_AXIS_OFFSET 32
/* Uncomment for debugging output */
//#define DEBUG
#ifdef DEBUG
//#define DEBUG_VK
#ifdef DEBUG_VK
#define DEBUG_LOG write_log
#else
#define DEBUG_LOG(...) do ; while(0)
@ -173,16 +173,18 @@ static const char *other_messages[] = {
/*00*/ "Floppy speed",
/*01*/ "^|normal|turbo|400%|800%",
/*02*/ "Correct aspect ratio",
/*03*/ "^|off|100%|95%|93%|90%|custom",
/*04*/ "Scanlines",
/*05*/ "^|on|off",
/*06*/ "Leds",
/*02*/ "Number of floppies",
/*03*/ "^| 0 | 1 | 2 | 3 | 4 ",
/*04*/ "Correct aspect ratio",
/*05*/ "^|off|100%|95%|93%|90%|custom",
/*06*/ "Scanlines",
/*07*/ "^|on|off",
/*08*/ "Port",
/*09*/ "^|DEFAULT|SD|USB|SMB",
/*10*/ "Rumble",
/*11*/ "^|on|off",
/*08*/ "Leds",
/*09*/ "^|on|off",
/*10*/ "Port",
/*11*/ "^|DEFAULT|SD|USB|SMB",
/*12*/ "Rumble",
/*13*/ "^|on|off",
NULL
};
@ -280,7 +282,7 @@ void fix_options_menu_sdl (int printmsg)
if ((changed_prefs.chipmem_size > 0x80000) && (!(changed_prefs.chipset_mask & CSMASK_ECS_AGNUS)))
{
changed_prefs.chipmem_size = 0x80000;
if (printmsg) msgInfo ("No more than 512KB chipmem OCS",3000, NULL);
if (printmsg) msgInfo ("No more than 512KB chipmem with OCS",3000, NULL);
}
if ((changed_prefs.bogomem_size > 0x100000) && ((changed_prefs.chipset_mask & CSMASK_AGA)))
@ -353,15 +355,6 @@ void fix_options_menu_sdl (int printmsg)
}
#endif
if (changed_prefs.nr_floppies < 0 || changed_prefs.nr_floppies > 4) {
if (printmsg) msgInfo ("Invalid number of floppies. Using 4.",3000, NULL);
changed_prefs.nr_floppies = 4;
changed_prefs.dfxtype[0] = 0;
changed_prefs.dfxtype[1] = 0;
changed_prefs.dfxtype[2] = 0;
changed_prefs.dfxtype[3] = 0;
}
if (changed_prefs.collision_level < 0 || changed_prefs.collision_level > 3) {
if (printmsg) msgInfo ("Invalid collision support level. Using Sprite level.",3000, NULL);
changed_prefs.collision_level = 1;
@ -641,6 +634,33 @@ static void set_floppy_speed(int which)
changed_prefs.floppy_speed = floppy_table[which];
}
static int get_dfxclick(void);
static void set_dfxclick(int);
static int get_floppy_number(void)
{
int i;
for (i=0; (changed_prefs.dfxtype[i]!=-1) && (i<4); i++);
return i;
}
static void set_floppy_number(int which)
{
int i;
set_dfxclick (get_dfxclick()); //Trick to be sure that all floppies have sound on or off
for (i=0; i<4; i++)
{
if (which == 0) changed_prefs.dfxtype[i] = -1; //disable all floppies
if (i<which) changed_prefs.dfxtype[i] = 0; //3.5 inches double-density
else changed_prefs.dfxtype[i] = -1; //disable floppy
}
}
static void set_gfx_framerate(int which)
{
/* Custom setting - don't touch! */
@ -842,23 +862,22 @@ msgInfo("File deleted",3000,NULL);
}
int get_dfxclick(void)
static int get_dfxclick(void)
{
int sounddf_on = 0;
int i;
for (i=0; i < 4; i++)
if (changed_prefs.dfxclick[i]&&(changed_prefs.dfxtype[i]>=0)) sounddf_on =1;
sounddf_on = (changed_prefs.dfxclick[0]!=0)||(changed_prefs.dfxclick[1]!=0)||
(changed_prefs.dfxclick[2]!=0)||(changed_prefs.dfxclick[3]!=0);
return sounddf_on;
}
void set_dfxclick(int sounddf_on)
static void set_dfxclick(int sounddf_on)
{
int i;
for (i=0; i < 4; i++)
if ((changed_prefs.dfxtype[i]>=0)&&(changed_prefs.dfxclick[i]!=sounddf_on))
changed_prefs.dfxclick[i] = sounddf_on;
changed_prefs.dfxclick[i] = sounddf_on; //Floppy sounds are all off or all on
}
static void emulation_options(void)
@ -927,17 +946,20 @@ static void audio_options(void)
static void other_options(void)
{
int submenus[6];
int opt;
int submenus[7];
int opt, floppy_n;
memset(submenus, 0, sizeof(submenus));
floppy_n=get_floppy_number();
submenus[0] = get_floppy_speed();
submenus[1] = get_gfx_aspect_ratio();
submenus[2] = !(changed_prefs.gfx_linedbl == 2) ;
submenus[3] = !changed_prefs.leds_on_screen;
submenus[4] = changed_prefs.Port;
submenus[5] = !changed_prefs.rumble;
submenus[1] = floppy_n;
submenus[2] = get_gfx_aspect_ratio();
submenus[3] = !(changed_prefs.gfx_linedbl == 2) ;
submenus[4] = !changed_prefs.leds_on_screen;
submenus[5] = changed_prefs.Port;
submenus[6] = !changed_prefs.rumble;
opt = menu_select_title("Other options menu",
other_messages, submenus);
@ -945,15 +967,18 @@ static void other_options(void)
return;
set_floppy_speed(submenus[0]);
set_gfx_aspect_ratio(submenus[1]);
changed_prefs.gfx_linedbl = submenus[2] ? 1 : 2;
changed_prefs.leds_on_screen = !submenus[3];
set_Port(submenus[4]);
changed_prefs.rumble = !submenus[5];
set_floppy_number(submenus[1]);
set_gfx_aspect_ratio(submenus[2]);
changed_prefs.gfx_linedbl = submenus[3] ? 1 : 2;
changed_prefs.leds_on_screen = !submenus[4];
set_Port(submenus[5]);
changed_prefs.rumble = !submenus[6];
currprefs.leds_on_screen = changed_prefs.leds_on_screen;
currprefs.rumble = changed_prefs.rumble;
fix_options_menu_sdl(1);
if (floppy_n != submenus[1]) uae_reset(1);
}
static void save_conf_file_menu(void)

119
uaerc.wii
View File

@ -19,25 +19,12 @@ floppy0=/uae/floppies/
#filesystem2=rw,DH0:harddir:/uae/harddir,-127
# Alters CPU speed (values are: real, max, 1 through 20)
# i.e. setting of 4 = 20% CHIPSET and 80% CPU
cpu_speed=max
# CPU Type (values are: 68000, 68010, 68020, 68020/68881, 68040 and 68060)
cpu_type=68000
#68000 has 24 bit address space
cpu_24bit_addressing=true
#Immediate blits helps with speed
immediate_blits=true
collision_level=playfields
# Emulation precision
cpu_compatible=true
cpu_cycle_exact=false
# Chipset type (values are: ocs, ecs_agnus, ecs_denise, ecs, aga)
chipset=ecs_agnus
@ -52,17 +39,78 @@ z3mem_size=0
# Picasso96 Memory (Values are between 0 and 32 which are MB)
gfxcard_size=0
# Emulation precision
cpu_compatible=true
cpu_cycle_exact=false
# Alters CPU speed (values are: real, max, 1 through 20)
# i.e. setting of 4 = 20% CHIPSET and 80% CPU
cpu_speed=max
#Immediate blits helps with speed
immediate_blits=true
collision_level=playfields
# Enable 2 floppies
floppy0type=0
floppy1type=0
floppy2type=-1
floppy3type=-1
# Enable floppy sound
floppy0sound=1
floppy1sound=1
floppy2sound=1
floppy3sound=1
floppy_volume=33
floppy0soundext=/uae/wave/
floppy1soundext=/uae/wave/
floppy2soundext=/uae/wave/
floppy3soundext=/uae/wave/
# Floppy speed, can cause incompatbility with certain floppy loaders
# (Values are: 0 = Turbo, 100 = Standard and 800 = 800% faster)
floppy_speed=100
show_leds=true
# Sound configuration
sound_output=normal
sound_frequency=32000
sound_latency=200
# Graphic configuration
# Necessary to get the relative coordinates from mouse emulated with wiimote IR pointer
gfx_fullscreen_amiga=true
# Set the screen dimensions
gfx_width_windowed=640
gfx_height_windowed=480
gfx_width_fullscreen=640
gfx_height_fullscreen=480
gfx_center_horizontal=true
gfx_center_vertical=true
# Vsync along with full screen enables double buffer and refresh rate setting
# Vsync false is a bit more fast
gfx_vsync=true
# Set true to adapt the Amiga screen to Wii SDL screen (640X480)
gfx_correct_aspect=false
# Set the screen correct % ratio when gfx_correct_aspect is true - possible values 80-100
gfx_correct_ratio=93
# Set the framerate (Values are between 1 and 20)
gfx_framerate=2
# Enable the on-screen leds
show_leds=true
# Set keyboard language. Possible values are de, dk, es, us, se, fr, it
kbd_lang=us
# Keyboard setup
input.config=1
@ -157,46 +205,3 @@ input.1.joystick.5.axis.1=JOY1_VERT
input.1.joystick.5.button.0=JOY1_FIRE_BUTTON
input.1.joystick.5.button.7=SPC_ENTERGUI
# Graphic configuration
# Necessary to get the relative coordinates from mouse emulated with wiimote IR pointer
gfx_fullscreen_amiga=true
# Set the screen dimensions
gfx_width_windowed=640
gfx_height_windowed=480
gfx_width_fullscreen=640
gfx_height_fullscreen=480
gfx_center_horizontal=true
gfx_center_vertical=true
# This enables double buffer and refresh rate setting
gfx_vsync=true
# Set true to adapt the Amiga screen to Wii SDL screen (640X480)
gfx_correct_aspect=false
# Set the screen correct % ratio when gfx_correct_aspect is true - possible values 80-100
gfx_correct_ratio=93
# Set the framerate (Values are between 1 and 20)
gfx_framerate=2
# Enable 2 floppies
#nr_floppies=2
floppy0type=0
floppy1type=0
floppy2type=-1
floppy3type=-1
# Enable floppy sound - set floppysound to -1 to load wave file - set to 0 to disable
floppy0sound=1
floppy1sound=1
floppy_volume=33
floppy0soundext=/uae/wave/
floppy1soundext=/uae/wave/
# Set keyboard language. Possible values are de, dk, es, us, se, fr, it
kbd_lang=us