mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-22 10:39:19 +01:00
Added Audio menu, Virtual keyboard called by + button, Added second game cube controller configuration,
This commit is contained in:
parent
7cae90048e
commit
0623999eab
@ -16,38 +16,28 @@
|
|||||||
#include "VirtualKeyboard.h"
|
#include "VirtualKeyboard.h"
|
||||||
|
|
||||||
|
|
||||||
class VirtualKeyboard
|
static struct virtkey* get_key_internal();
|
||||||
{
|
static void draw();
|
||||||
public:
|
static void select_next(int dx, int dy);
|
||||||
VirtualKeyboard(SDL_Surface *screen, TTF_Font *font);
|
|
||||||
struct virtkey* get_key();
|
|
||||||
|
|
||||||
private:
|
static SDL_Surface *screen;
|
||||||
struct virtkey* get_key_internal();
|
static TTF_Font *font;
|
||||||
void draw();
|
static int sel_x;
|
||||||
void select_next(int dx, int dy);
|
static int sel_y;
|
||||||
void toggle_shift();
|
|
||||||
|
|
||||||
SDL_Surface *screen;
|
|
||||||
TTF_Font *font;
|
|
||||||
int sel_x;
|
|
||||||
int sel_y;
|
|
||||||
|
|
||||||
char buf[255];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
static char buf[255];
|
||||||
|
|
||||||
|
|
||||||
#define K(name, sdl_code) \
|
#define K(name, sdl_code) \
|
||||||
{ name, "KEY_"name, sdl_code, false }
|
{ name, "KEY_"name, sdl_code, 0 }
|
||||||
#define N(name, key_name, sdl_code) \
|
#define N(name, key_name, sdl_code) \
|
||||||
{ name, "KEY_"key_name, sdl_code, false }
|
{ name, "KEY_"key_name, sdl_code, 0 }
|
||||||
#define D(name) \
|
#define D(name) \
|
||||||
{ name, "None", 0, true }
|
{ name, "None", 0, 1 }
|
||||||
#define KNL() \
|
#define KNL() \
|
||||||
{ NULL, NULL, 0, false }
|
{ NULL, NULL, 0, 0 }
|
||||||
#define NJ(name, joy_name) \
|
#define NJ(name, joy_name) \
|
||||||
{ name, joy_name, 0, false }
|
{ name, joy_name, 0, 0 }
|
||||||
|
|
||||||
#define KEY_COLS 14
|
#define KEY_COLS 14
|
||||||
#define KEY_ROWS 8
|
#define KEY_ROWS 8
|
||||||
@ -63,33 +53,27 @@ static virtkey_t keys[KEY_COLS * KEY_ROWS] = {
|
|||||||
NJ("Fire","JOY_FIRE_BUTTON"),KNL(),KNL(),NJ("Joy 2nd button","JOY_2ND_BUTTON"),KNL(),KNL(),KNL(),KNL(),KNL(),NJ("Joy 3rd button","JOY_3RD_BUTTON"),KNL(),KNL(),KNL(),KNL()
|
NJ("Fire","JOY_FIRE_BUTTON"),KNL(),KNL(),NJ("Joy 2nd button","JOY_2ND_BUTTON"),KNL(),KNL(),KNL(),KNL(),KNL(),NJ("Joy 3rd button","JOY_3RD_BUTTON"),KNL(),KNL(),KNL(),KNL()
|
||||||
};
|
};
|
||||||
|
|
||||||
VirtualKeyboard::VirtualKeyboard(SDL_Surface *screen, TTF_Font *font)
|
|
||||||
{
|
|
||||||
this->screen = screen;
|
|
||||||
this->font = font;
|
|
||||||
this->sel_x = 0;
|
|
||||||
this->sel_y = 0;
|
|
||||||
|
|
||||||
memset(this->buf, 0, sizeof(this->buf));
|
void draw()
|
||||||
}
|
|
||||||
|
|
||||||
void VirtualKeyboard::draw()
|
|
||||||
{
|
{
|
||||||
int screen_w = this->screen->w;
|
int screen_w = screen->w;
|
||||||
int screen_h = this->screen->h;
|
int screen_h = screen->h;
|
||||||
int key_w = 36;
|
int key_w = 36;
|
||||||
int key_h = 36;
|
int key_h = 36;
|
||||||
int border_x = (screen_w - (key_w * KEY_COLS)) / 2;
|
int border_x = (screen_w - (key_w * KEY_COLS)) / 2;
|
||||||
int border_y = (screen_h - (key_h * KEY_ROWS)) / 2;
|
int border_y = (screen_h - (key_h * KEY_ROWS)) / 2;
|
||||||
|
int y;
|
||||||
|
int x;
|
||||||
|
|
||||||
SDL_Rect bg_rect = {border_x, border_y,
|
SDL_Rect bg_rect = {border_x, border_y,
|
||||||
key_w * KEY_COLS, key_h * KEY_ROWS};
|
key_w * KEY_COLS, key_h * KEY_ROWS};
|
||||||
|
|
||||||
SDL_FillRect(this->screen, &bg_rect,
|
SDL_FillRect(screen, &bg_rect,
|
||||||
SDL_MapRGB(screen->format, 0xff, 0xff, 0xff));
|
SDL_MapRGB(screen->format, 0xff, 0xff, 0xff));
|
||||||
|
|
||||||
for (int y = 0; y < KEY_ROWS; y++ )
|
for (y = 0; y < KEY_ROWS; y++ )
|
||||||
{
|
{
|
||||||
for (int x = 0; x < KEY_COLS; x++ )
|
for (x = 0; x < KEY_COLS; x++ )
|
||||||
{
|
{
|
||||||
int which = y * KEY_COLS + x;
|
int which = y * KEY_COLS + x;
|
||||||
virtkey_t key = keys[which];
|
virtkey_t key = keys[which];
|
||||||
@ -102,28 +86,28 @@ void VirtualKeyboard::draw()
|
|||||||
|
|
||||||
if ( key.is_done )
|
if ( key.is_done )
|
||||||
r = 255;
|
r = 255;
|
||||||
if ( (x == this->sel_x && y == this->sel_y))
|
if ( (x == sel_x && y == sel_y))
|
||||||
g = 200;
|
g = 200;
|
||||||
|
|
||||||
menu_print_font(this->screen, r, g, b,
|
menu_print_font(screen, r, g, b,
|
||||||
x * key_w + border_x, y * key_h + border_y,
|
x * key_w + border_x, y * key_h + border_y,
|
||||||
what, 20);
|
what, 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VirtualKeyboard::select_next(int dx, int dy)
|
void select_next(int dx, int dy)
|
||||||
{
|
{
|
||||||
int next_x = (this->sel_x + dx) % KEY_COLS;
|
int next_x = (sel_x + dx) % KEY_COLS;
|
||||||
int next_y = (this->sel_y + dy) % KEY_ROWS;
|
int next_y = (sel_y + dy) % KEY_ROWS;
|
||||||
virtkey_t key;
|
virtkey_t key;
|
||||||
|
|
||||||
if (next_x < 0)
|
if (next_x < 0)
|
||||||
next_x = KEY_COLS + next_x;
|
next_x = KEY_COLS + next_x;
|
||||||
if (next_y < 0)
|
if (next_y < 0)
|
||||||
next_y = KEY_ROWS + next_y;
|
next_y = KEY_ROWS + next_y;
|
||||||
this->sel_x = next_x;
|
sel_x = next_x;
|
||||||
this->sel_y = next_y;
|
sel_y = next_y;
|
||||||
|
|
||||||
key = keys[ next_y * KEY_COLS + next_x ];
|
key = keys[ next_y * KEY_COLS + next_x ];
|
||||||
|
|
||||||
@ -131,36 +115,36 @@ void VirtualKeyboard::select_next(int dx, int dy)
|
|||||||
if (key.name == NULL)
|
if (key.name == NULL)
|
||||||
{
|
{
|
||||||
if (dy != 0) /* Look left */
|
if (dy != 0) /* Look left */
|
||||||
this->select_next(-1, 0);
|
select_next(-1, 0);
|
||||||
else
|
else
|
||||||
this->select_next(dx, dy);
|
select_next(dx, dy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct virtkey *VirtualKeyboard::get_key_internal()
|
struct virtkey *get_key_internal()
|
||||||
{
|
{
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
uint32_t k;
|
uint32_t k;
|
||||||
|
|
||||||
this->draw();
|
draw();
|
||||||
SDL_Flip(this->screen);
|
SDL_Flip(screen);
|
||||||
|
|
||||||
k = menu_wait_key_press();
|
k = menu_wait_key_press();
|
||||||
|
|
||||||
if (k & KEY_UP)
|
if (k & KEY_UP)
|
||||||
this->select_next(0, -1);
|
select_next(0, -1);
|
||||||
else if (k & KEY_DOWN)
|
else if (k & KEY_DOWN)
|
||||||
this->select_next(0, 1);
|
select_next(0, 1);
|
||||||
else if (k & KEY_LEFT)
|
else if (k & KEY_LEFT)
|
||||||
this->select_next(-1, 0);
|
select_next(-1, 0);
|
||||||
else if (k & KEY_RIGHT)
|
else if (k & KEY_RIGHT)
|
||||||
this->select_next(1, 0);
|
select_next(1, 0);
|
||||||
else if (k & KEY_ESCAPE)
|
else if (k & KEY_ESCAPE)
|
||||||
return NULL;
|
return NULL;
|
||||||
else if (k & KEY_SELECT)
|
else if (k & KEY_SELECT)
|
||||||
{
|
{
|
||||||
virtkey_t *key = &keys[ this->sel_y * KEY_COLS + this->sel_x ];
|
virtkey_t *key = &keys[ sel_y * KEY_COLS + sel_x ];
|
||||||
|
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
@ -169,26 +153,25 @@ struct virtkey *VirtualKeyboard::get_key_internal()
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct virtkey* VirtualKeyboard::get_key()
|
struct virtkey* virtkbd_get_key(void)
|
||||||
{
|
{
|
||||||
virtkey_t *key;
|
virtkey_t *key;
|
||||||
SDL_Rect rect = {32, 32, FULL_DISPLAY_X-64, FULL_DISPLAY_Y-96};
|
SDL_Rect rect = {56, 80, FULL_DISPLAY_X-104, FULL_DISPLAY_Y-176};
|
||||||
|
|
||||||
SDL_FillRect(this->screen, &rect, SDL_MapRGB(screen->format, 0xff, 0xff, 0xff));
|
SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, 0xff, 0xff, 0xff));
|
||||||
|
|
||||||
key = this->get_key_internal();
|
key = get_key_internal();
|
||||||
|
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* C interface */
|
|
||||||
static VirtualKeyboard *virtual_keyboard;
|
|
||||||
void virtkbd_init(SDL_Surface *surf, TTF_Font *fnt)
|
void virtkbd_init(SDL_Surface *surf, TTF_Font *fnt)
|
||||||
{
|
{
|
||||||
virtual_keyboard = new VirtualKeyboard(surf, fnt);
|
sel_x = 0;
|
||||||
|
sel_y = 0;
|
||||||
|
screen = surf;
|
||||||
|
font = fnt;
|
||||||
|
memset(buf, 0, sizeof(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
struct virtkey *virtkbd_get_key(void)
|
|
||||||
{
|
|
||||||
return virtual_keyboard->get_key();
|
|
||||||
}
|
|
@ -20,13 +20,5 @@ typedef struct virtkey
|
|||||||
int is_done;
|
int is_done;
|
||||||
} virtkey_t;
|
} virtkey_t;
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern void virtkbd_init(SDL_Surface *surf, TTF_Font *fnt);
|
extern void virtkbd_init(SDL_Surface *surf, TTF_Font *fnt);
|
||||||
extern struct virtkey *virtkbd_get_key(void);
|
extern struct virtkey *virtkbd_get_key(void);
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
@ -46,9 +46,9 @@ static const char *main_menu_messages[] = {
|
|||||||
/*04*/ "#1-------------------------------------",
|
/*04*/ "#1-------------------------------------",
|
||||||
/*05*/ "Wiimote configuration",
|
/*05*/ "Wiimote configuration",
|
||||||
/*06*/ "^|Wiimote1|Wiimote2",
|
/*06*/ "^|Wiimote1|Wiimote2",
|
||||||
/*07*/ "Virtual keyboard",
|
/*07*/ "Hardware options",
|
||||||
/*08*/ "Hardware options",
|
/*08*/ "Emulation options",
|
||||||
/*09*/ "Emulation options",
|
/*09*/ "Audio options",
|
||||||
/*10*/ "Other options",
|
/*10*/ "Other options",
|
||||||
/*11*/ "Save confs",
|
/*11*/ "Save confs",
|
||||||
/*12*/ "Reset UAE",
|
/*12*/ "Reset UAE",
|
||||||
@ -138,29 +138,44 @@ static const char *emulation_messages[] = {
|
|||||||
/*05*/ "^|100%|50%|33%|25%|12%|custom",
|
/*05*/ "^|100%|50%|33%|25%|12%|custom",
|
||||||
/*06*/ "Floppy speed",
|
/*06*/ "Floppy speed",
|
||||||
/*07*/ "^|normal|turbo|400%|800%",
|
/*07*/ "^|normal|turbo|400%|800%",
|
||||||
/*08*/ "Sound interpolation",
|
/*08*/ "Collision level",
|
||||||
/*09*/ "^|none|rh|crux|sinc",
|
/*09*/ "^|none|sprites|playfields|full",
|
||||||
/*10*/ "Collision level",
|
/*10*/ "Immediate blits",
|
||||||
/*11*/ "^|none|sprites|playfields|full",
|
/*11*/ "^|on|off",
|
||||||
/*12*/ "Immediate blits",
|
|
||||||
/*13*/ "^|on|off",
|
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *graphic_messages[] = {
|
static const char *audio_messages[] = {
|
||||||
|
/*00*/ "Sound ouput",
|
||||||
|
/*01*/ "^|none|normal|exact",
|
||||||
|
/*02*/ " ",
|
||||||
|
/*03*/ "Sound stereo separation",
|
||||||
|
/*04*/ "^|0|3|6|9|12",
|
||||||
|
/*05*/ " ",
|
||||||
|
/*06*/ "Sound interpolation",
|
||||||
|
/*07*/ "^|none|rh|crux|sinc",
|
||||||
|
/*08*/ " ",
|
||||||
|
/*09*/ "Floppy sound",
|
||||||
|
/*10*/ "^|on|off",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char *other_messages[] = {
|
||||||
|
|
||||||
/*00*/ "Correct aspect",
|
/*00*/ "Correct aspect",
|
||||||
/*01*/ "^|off|100%|95%|93%|90%|custom",
|
/*01*/ "^|off|100%|95%|93%|90%|custom",
|
||||||
/*02*/ "Scanlines",
|
/*02*/ " ",
|
||||||
/*03*/ "^|on|off",
|
/*03*/ "Scanlines",
|
||||||
/*04*/ "Leds",
|
/*04*/ "^|on|off",
|
||||||
/*05*/ "^|on|off",
|
/*05*/ " ",
|
||||||
/*06*/ "Floppy sound",
|
/*06*/ "Leds",
|
||||||
/*07*/ "^|on|off",
|
/*07*/ "^|on|off",
|
||||||
/*08*/ "Port",
|
/*08*/ " ",
|
||||||
/*09*/ "^|DEFAULT|SD|USB|SMB",
|
/*09*/ "Port",
|
||||||
/*10*/ "Rumble",
|
/*10*/ "^|DEFAULT|SD|USB|SMB",
|
||||||
/*11*/ "^|on|off",
|
/*11*/ " ",
|
||||||
|
/*12*/ "Rumble",
|
||||||
|
/*13*/ "^|on|off",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -274,7 +289,7 @@ static void A1000_config(void)
|
|||||||
|
|
||||||
changed_prefs.cpu_level = 0; //68000
|
changed_prefs.cpu_level = 0; //68000
|
||||||
changed_prefs.fastmem_size = 0; //OFF
|
changed_prefs.fastmem_size = 0; //OFF
|
||||||
changed_prefs.chipmem_size = 256 * 1024; //512
|
changed_prefs.chipmem_size = 512 * 1024; //512
|
||||||
changed_prefs.bogomem_size = 0; //OFF
|
changed_prefs.bogomem_size = 0; //OFF
|
||||||
changed_prefs.chipset_mask = 0; //OCS
|
changed_prefs.chipset_mask = 0; //OCS
|
||||||
|
|
||||||
@ -578,7 +593,7 @@ void set_dfxclick(int sounddf_on)
|
|||||||
|
|
||||||
static void emulation_options(void)
|
static void emulation_options(void)
|
||||||
{
|
{
|
||||||
int submenus[7];
|
int submenus[6];
|
||||||
int opt;
|
int opt;
|
||||||
|
|
||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
@ -587,9 +602,8 @@ static void emulation_options(void)
|
|||||||
submenus[1] = get_cpu_to_chipset_speed();
|
submenus[1] = get_cpu_to_chipset_speed();
|
||||||
submenus[2] = get_gfx_framerate();
|
submenus[2] = get_gfx_framerate();
|
||||||
submenus[3] = get_floppy_speed();
|
submenus[3] = get_floppy_speed();
|
||||||
submenus[4] = changed_prefs.sound_interpol;
|
submenus[4] = changed_prefs.collision_level;
|
||||||
submenus[5] = changed_prefs.collision_level;
|
submenus[5] = !changed_prefs.immediate_blits;
|
||||||
submenus[6] = !changed_prefs.immediate_blits;
|
|
||||||
|
|
||||||
opt = menu_select_title("Emulation options menu",
|
opt = menu_select_title("Emulation options menu",
|
||||||
emulation_messages, submenus);
|
emulation_messages, submenus);
|
||||||
@ -601,15 +615,38 @@ static void emulation_options(void)
|
|||||||
set_cpu_to_chipset_speed(submenus[1]);
|
set_cpu_to_chipset_speed(submenus[1]);
|
||||||
set_gfx_framerate(submenus[2]);
|
set_gfx_framerate(submenus[2]);
|
||||||
set_floppy_speed(submenus[3]);
|
set_floppy_speed(submenus[3]);
|
||||||
changed_prefs.sound_interpol = submenus[4];
|
changed_prefs.collision_level = submenus[4];
|
||||||
changed_prefs.collision_level = submenus[5];
|
changed_prefs.immediate_blits = !submenus[5];
|
||||||
changed_prefs.immediate_blits = !submenus[6];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void graphic_options(void)
|
static void audio_options(void)
|
||||||
{
|
{
|
||||||
int submenus[6];
|
|
||||||
|
int submenus[4];
|
||||||
|
int opt;
|
||||||
|
|
||||||
|
memset(submenus, 0, sizeof(submenus));
|
||||||
|
|
||||||
|
submenus[0] = changed_prefs.produce_sound-1;
|
||||||
|
submenus[1] = changed_prefs.sound_stereo_separation/3;
|
||||||
|
submenus[2] = changed_prefs.sound_interpol;
|
||||||
|
submenus[3] = !get_dfxclick();
|
||||||
|
|
||||||
|
opt = menu_select_title("Audio options menu",
|
||||||
|
audio_messages, submenus);
|
||||||
|
if (opt < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
changed_prefs.produce_sound = submenus[0]+1;
|
||||||
|
changed_prefs.sound_stereo_separation = submenus[1]*3;
|
||||||
|
changed_prefs.sound_interpol = submenus[2];
|
||||||
|
set_dfxclick(!submenus[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void other_options(void)
|
||||||
|
{
|
||||||
|
int submenus[5];
|
||||||
int opt;
|
int opt;
|
||||||
|
|
||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
@ -618,21 +655,19 @@ static void graphic_options(void)
|
|||||||
submenus[0] = get_gfx_aspect_ratio();
|
submenus[0] = get_gfx_aspect_ratio();
|
||||||
submenus[1] = !(changed_prefs.gfx_linedbl == 2) ;
|
submenus[1] = !(changed_prefs.gfx_linedbl == 2) ;
|
||||||
submenus[2] = !changed_prefs.leds_on_screen;
|
submenus[2] = !changed_prefs.leds_on_screen;
|
||||||
submenus[3] = !get_dfxclick();
|
submenus[3] = changed_prefs.Port;
|
||||||
submenus[4] = changed_prefs.Port;
|
submenus[4] = !changed_prefs.rumble;
|
||||||
submenus[5] = !changed_prefs.rumble;
|
|
||||||
|
|
||||||
opt = menu_select_title("Other options menu",
|
opt = menu_select_title("Other options menu",
|
||||||
graphic_messages, submenus);
|
other_messages, submenus);
|
||||||
if (opt < 0)
|
if (opt < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
set_gfx_aspect_ratio(submenus[0]);
|
set_gfx_aspect_ratio(submenus[0]);
|
||||||
changed_prefs.gfx_linedbl = submenus[1] ? 1 : 2;
|
changed_prefs.gfx_linedbl = submenus[1] ? 1 : 2;
|
||||||
changed_prefs.leds_on_screen = !submenus[2];
|
changed_prefs.leds_on_screen = !submenus[2];
|
||||||
set_dfxclick(!submenus[3]);
|
set_Port(submenus[3]);
|
||||||
set_Port(submenus[4]);
|
changed_prefs.rumble = !submenus[4];
|
||||||
changed_prefs.rumble = !submenus[5];
|
|
||||||
currprefs.leds_on_screen = changed_prefs.leds_on_screen;
|
currprefs.leds_on_screen = changed_prefs.leds_on_screen;
|
||||||
currprefs.rumble = changed_prefs.rumble;
|
currprefs.rumble = changed_prefs.rumble;
|
||||||
}
|
}
|
||||||
@ -962,7 +997,7 @@ void gui_display(int shortcut)
|
|||||||
|
|
||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
|
|
||||||
do
|
if (shortcut==-1) do //Enter Menu
|
||||||
{
|
{
|
||||||
opt = menu_select_title("Main menu", main_menu_messages, submenus);
|
opt = menu_select_title("Main menu", main_menu_messages, submenus);
|
||||||
notice_screen_contents_lost ();
|
notice_screen_contents_lost ();
|
||||||
@ -983,16 +1018,16 @@ void gui_display(int shortcut)
|
|||||||
input_options(submenus[2]);
|
input_options(submenus[2]);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
virtual_keyboard();
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
hardware_options();
|
hardware_options();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 8:
|
||||||
emulation_options();
|
emulation_options();
|
||||||
break;
|
break;
|
||||||
|
case 9:
|
||||||
|
audio_options();
|
||||||
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
graphic_options();
|
other_options();
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
save_configurations();
|
save_configurations();
|
||||||
@ -1012,6 +1047,8 @@ void gui_display(int shortcut)
|
|||||||
}
|
}
|
||||||
} while (opt == 0 || opt == 5 || opt == 8 || opt == 9 || opt == 10 || opt == 13);
|
} while (opt == 0 || opt == 5 || opt == 8 || opt == 9 || opt == 10 || opt == 13);
|
||||||
|
|
||||||
|
if (shortcut==6) {virtual_keyboard(); notice_screen_contents_lost ();}//Enter Virtual Keyboard
|
||||||
|
|
||||||
resume_sound();
|
resume_sound();
|
||||||
gui_is_active=0;
|
gui_is_active=0;
|
||||||
}
|
}
|
||||||
|
@ -151,5 +151,5 @@ enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT, AKS_FREEZEBUTTON,
|
|||||||
AKS_INCRFRAMERATE, AKS_DECRFRAMERATE, AKS_SWITCHINTERPOL,
|
AKS_INCRFRAMERATE, AKS_DECRFRAMERATE, AKS_SWITCHINTERPOL,
|
||||||
AKS_DECREASEREFRESHRATE,
|
AKS_DECREASEREFRESHRATE,
|
||||||
AKS_INCREASEREFRESHRATE,
|
AKS_INCREASEREFRESHRATE,
|
||||||
AKS_ARCADIADIAGNOSTICS, AKS_ARCADIAPLY1, AKS_ARCADIAPLY2, AKS_ARCADIACOIN1, AKS_ARCADIACOIN2
|
AKS_ARCADIADIAGNOSTICS, AKS_ARCADIAPLY1, AKS_ARCADIAPLY2, AKS_ARCADIACOIN1, AKS_ARCADIACOIN2, AKS_VIRTUAL_KEYBOARD
|
||||||
};
|
};
|
||||||
|
@ -1189,6 +1189,9 @@ void inputdevice_handle_inputcode (void)
|
|||||||
break;
|
break;
|
||||||
case AKS_SWITCHINTERPOL:
|
case AKS_SWITCHINTERPOL:
|
||||||
switch_audio_interpol ();
|
switch_audio_interpol ();
|
||||||
|
break;
|
||||||
|
case AKS_VIRTUAL_KEYBOARD:
|
||||||
|
gui_display (6);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -307,3 +307,4 @@ DEFEVENT(SPC_ARCADIA_PLAYER1,"Arcadia player 1",AM_K,0,0,AKS_ARCADIAPLY1)
|
|||||||
DEFEVENT(SPC_ARCADIA_PLAYER2,"Arcadia player 2",AM_K,0,0,AKS_ARCADIAPLY2)
|
DEFEVENT(SPC_ARCADIA_PLAYER2,"Arcadia player 2",AM_K,0,0,AKS_ARCADIAPLY2)
|
||||||
DEFEVENT(SPC_ARCADIA_COIN1,"Arcadia coin player 1",AM_K,0,0,AKS_ARCADIACOIN1)
|
DEFEVENT(SPC_ARCADIA_COIN1,"Arcadia coin player 1",AM_K,0,0,AKS_ARCADIACOIN1)
|
||||||
DEFEVENT(SPC_ARCADIA_COIN2,"Arcadia coin player 2",AM_K,0,0,AKS_ARCADIACOIN2)
|
DEFEVENT(SPC_ARCADIA_COIN2,"Arcadia coin player 2",AM_K,0,0,AKS_ARCADIACOIN2)
|
||||||
|
DEFEVENT(SPC_VIRTUAL_KEYBOARD,"Vitual Keyboard",AM_K,0,0,AKS_VIRTUAL_KEYBOARD)
|
74
uaerc.wii
74
uaerc.wii
@ -23,34 +23,37 @@ floppy0=/uae/floppies/
|
|||||||
# i.e. setting of 4 = 20% CHIPSET and 80% CPU
|
# i.e. setting of 4 = 20% CHIPSET and 80% CPU
|
||||||
cpu_speed=max
|
cpu_speed=max
|
||||||
|
|
||||||
# CPU Type (values are; 68000, 68020, 68020/68881 and 68040)
|
# CPU Type (values are: 68000, 68010, 68020, 68020/68881, 68040 and 68060)
|
||||||
cpu_type=68000
|
cpu_type=68000
|
||||||
|
|
||||||
|
#Use the 32 bit Motorola CPU 68020 version
|
||||||
|
cpu_24bit_addressing=false
|
||||||
|
|
||||||
#Immediate blits helps with speed
|
#Immediate blits helps with speed
|
||||||
immediate_blits=true
|
immediate_blits=true
|
||||||
|
|
||||||
collision_level=playfields
|
collision_level=playfields
|
||||||
|
|
||||||
#Use the 32 bit Motorola CPU 68020 version
|
|
||||||
cpu_24bit_addressing=false
|
|
||||||
|
|
||||||
# Emulation precision
|
# Emulation precision
|
||||||
cpu_compatible=true
|
cpu_compatible=true
|
||||||
|
cpu_cycle_exact=false
|
||||||
|
|
||||||
# Chipset type (values are; ocs, ecs_agnus, ecs, aga)
|
# Chipset type (values are: ocs, ecs_agnus, ecs_denise, ecs, aga)
|
||||||
chipset=ecs_agnus
|
chipset=ecs_agnus
|
||||||
|
|
||||||
# Slow Memory (Values are; 0 = 0MB, 1 = 256KB, 2 = 512KB, 3 = 1MB and 4 = 1.7MB)
|
# Slow Memory (Values are: 0 = 0MB, 1 = 256KB, 2 = 512KB, 3 = 1MB and 4 = 1.7MB)
|
||||||
bogomem_size=2
|
bogomem_size=2
|
||||||
# Chip Memory (Values are; 0 = 0MB, 1 = 512KB, 2 = 1MB, 3 = 1.5MB and 4 = 2MB)
|
# Chip Memory (Values are: 0 = 0MB, 1 = 512KB, 2 = 1MB, 3 = 1.5MB and 4 = 2MB)
|
||||||
chipmem_size=1
|
chipmem_size=1
|
||||||
# Fast Memory (Values are; 0 = 0MB, 4 = 2MB and 8 = 8MB)
|
# Fast Memory (Values are: 0 = 0MB, 4 = 2MB and 8 = 8MB)
|
||||||
fastmem_size=0
|
fastmem_size=0
|
||||||
# Accellerator Memory (Values are; 1MB, 2MB, 4MB, 8MB, 16MB and 32MB)
|
# Accellerator Memory (Values are: 1, 2, 4, 8, 16 and 32 which are MB)
|
||||||
z3mem_size=0
|
z3mem_size=0
|
||||||
|
# Picasso96 Memory (Values are between 0 and 32 which are MB)
|
||||||
|
gfxcard_size=0
|
||||||
|
|
||||||
# Floppy speed, can cause incompatbility with certain floppy loaders
|
# Floppy speed, can cause incompatbility with certain floppy loaders
|
||||||
# (Values are; 0 = Turbo, 100 = Standard and 800 = 800% faster)
|
# (Values are: 0 = Turbo, 100 = Standard and 800 = 800% faster)
|
||||||
floppy_speed=100
|
floppy_speed=100
|
||||||
|
|
||||||
show_leds=true
|
show_leds=true
|
||||||
@ -61,9 +64,8 @@ sound_frequency=32000
|
|||||||
sound_latency=200
|
sound_latency=200
|
||||||
|
|
||||||
|
|
||||||
input.config=1
|
|
||||||
|
|
||||||
# Keyboard setup
|
# Keyboard setup
|
||||||
|
input.config=1
|
||||||
input.1.keyboard.0.button.96=SPC_ENTERGUI
|
input.1.keyboard.0.button.96=SPC_ENTERGUI
|
||||||
|
|
||||||
# Mouse emulated by Wiimote 1
|
# Mouse emulated by Wiimote 1
|
||||||
@ -72,20 +74,19 @@ input.1.mouse.0.axis.0=MOUSE1_HORIZ
|
|||||||
input.1.mouse.0.axis.1=MOUSE1_VERT
|
input.1.mouse.0.axis.1=MOUSE1_VERT
|
||||||
input.1.mouse.0.axis.2=MOUSE1_WHEEL
|
input.1.mouse.0.axis.2=MOUSE1_WHEEL
|
||||||
|
|
||||||
# Mouse emulated by Wiimote 2 - disabled by default since Wii SDL uses wiimote 1 only
|
# Mouse 2 disabled by default since Wii SDL uses wiimote 1 only
|
||||||
input.1.mouse.1.disabled=1
|
input.1.mouse.1.disabled=1
|
||||||
|
|
||||||
# Mouse Left Button - Wimote 'A'
|
# Mouse Left Button - Wimote 1 button 'A'
|
||||||
input.1.mouse.0.button.0=JOY1_FIRE_BUTTON
|
input.1.mouse.0.button.0=JOY1_FIRE_BUTTON
|
||||||
|
|
||||||
# Mouse Right Button - Wimote 'B'
|
# Mouse Right Button - Wimote 1 button 'B'
|
||||||
input.1.mouse.0.button.1=JOY1_2ND_BUTTON
|
input.1.mouse.0.button.1=JOY1_2ND_BUTTON
|
||||||
|
|
||||||
# Mouse Middle Button - Wimote ?
|
# Mouse Middle Button not emulated by Wii SDL
|
||||||
input.1.mouse.0.button.2=JOY1_3RD_BUTTON
|
#input.1.mouse.0.button.2=JOY1_3RD_BUTTON
|
||||||
|
|
||||||
|
# Joystick configuration. Wiimote 1 is both mouse 1 and joystick 2, with
|
||||||
# Joystick configuration. Wiimote 1 is both mouse and joystick 2, with
|
|
||||||
# the mouse buttons being the A and B keys. Wiimote 2 is Joystick 1 only
|
# the mouse buttons being the A and B keys. Wiimote 2 is Joystick 1 only
|
||||||
# See http://wiibrew.org/wiki/SDL for the button numbers
|
# See http://wiibrew.org/wiki/SDL for the button numbers
|
||||||
|
|
||||||
@ -95,8 +96,6 @@ input.1.joystick.0.axis.0=JOY2_HORIZ
|
|||||||
input.1.joystick.0.axis.1=JOY2_VERT
|
input.1.joystick.0.axis.1=JOY2_VERT
|
||||||
input.1.joystick.0.axis.2=JOY2_HORIZ
|
input.1.joystick.0.axis.2=JOY2_HORIZ
|
||||||
input.1.joystick.0.axis.3=JOY2_VERT
|
input.1.joystick.0.axis.3=JOY2_VERT
|
||||||
input.1.joystick.0.axis.4=JOY2_HORIZ
|
|
||||||
input.1.joystick.0.axis.5=JOY2_VERT
|
|
||||||
# The "hat" on the wiimote (dpad)
|
# The "hat" on the wiimote (dpad)
|
||||||
input.1.joystick.0.axis.9=JOY2_HORIZ
|
input.1.joystick.0.axis.9=JOY2_HORIZ
|
||||||
input.1.joystick.0.axis.10=JOY2_VERT
|
input.1.joystick.0.axis.10=JOY2_VERT
|
||||||
@ -107,8 +106,6 @@ input.1.joystick.1.axis.0=JOY1_HORIZ
|
|||||||
input.1.joystick.1.axis.1=JOY1_VERT
|
input.1.joystick.1.axis.1=JOY1_VERT
|
||||||
input.1.joystick.1.axis.2=JOY1_HORIZ
|
input.1.joystick.1.axis.2=JOY1_HORIZ
|
||||||
input.1.joystick.1.axis.3=JOY1_VERT
|
input.1.joystick.1.axis.3=JOY1_VERT
|
||||||
input.1.joystick.1.axis.4=JOY1_HORIZ
|
|
||||||
input.1.joystick.1.axis.5=JOY1_VERT
|
|
||||||
# The "hat" on the wiimote (dpad)
|
# The "hat" on the wiimote (dpad)
|
||||||
input.1.joystick.1.axis.9=JOY1_HORIZ
|
input.1.joystick.1.axis.9=JOY1_HORIZ
|
||||||
input.1.joystick.1.axis.10=JOY1_VERT
|
input.1.joystick.1.axis.10=JOY1_VERT
|
||||||
@ -120,25 +117,30 @@ input.1.joystick.1.button.3=JOY1_FIRE_BUTTON
|
|||||||
input.1.joystick.1.button.9=JOY1_FIRE_BUTTON
|
input.1.joystick.1.button.9=JOY1_FIRE_BUTTON
|
||||||
|
|
||||||
# Home button
|
# Home button
|
||||||
input.1.joystick.1.button.6=SPC_ENTERGUI
|
|
||||||
input.1.joystick.1.button.19=SPC_ENTERGUI
|
|
||||||
input.1.joystick.0.button.6=SPC_ENTERGUI
|
input.1.joystick.0.button.6=SPC_ENTERGUI
|
||||||
input.1.joystick.0.button.19=SPC_ENTERGUI
|
input.1.joystick.0.button.19=SPC_ENTERGUI
|
||||||
|
input.1.joystick.1.button.6=SPC_ENTERGUI
|
||||||
|
input.1.joystick.1.button.19=SPC_ENTERGUI
|
||||||
|
|
||||||
# Joy 2nd Button: 'Z' on nunchunk and 'x' Classic Controller - Uncomment if you want to use them
|
# "+" button
|
||||||
|
input.1.joystick.0.button.5=SPC_VIRTUAL_KEYBOARD
|
||||||
|
input.1.joystick.0.button.18=SPC_VIRTUAL_KEYBOARD
|
||||||
|
input.1.joystick.1.button.5=SPC_VIRTUAL_KEYBOARD
|
||||||
|
input.1.joystick.1.button.18=SPC_VIRTUAL_KEYBOARD
|
||||||
|
|
||||||
|
# Joy 2nd Button: 'Z' on nunchunk and 'x' Classic Controller - Delete # if you want to use them
|
||||||
#input.1.joystick.0.button.7=JOY2_2ND_BUTTON
|
#input.1.joystick.0.button.7=JOY2_2ND_BUTTON
|
||||||
#input.1.joystick.0.button.11=JOY2_2ND_BUTTON
|
#input.1.joystick.0.button.11=JOY2_2ND_BUTTON
|
||||||
#input.1.joystick.1.button.7=JOY2_2ND_BUTTON
|
#input.1.joystick.1.button.7=JOY2_2ND_BUTTON
|
||||||
#input.1.joystick.1.button.11=JOY2_2ND_BUTTON
|
#input.1.joystick.1.button.11=JOY2_2ND_BUTTON
|
||||||
|
|
||||||
|
#Joy1 3rd Button: 'C' on nunchunk and 'y' on Classic Controller - Delete # if you want to use them
|
||||||
#Joy1 3rd Button: 'C' on nunchunk and 'y' on Classic Controller - Uncomment if you want to use them
|
|
||||||
#input.1.joystick.0.button.8=JOY2_3RD_BUTTON
|
#input.1.joystick.0.button.8=JOY2_3RD_BUTTON
|
||||||
#input.1.joystick.0.button.12=JOY2_3RD_BUTTON
|
#input.1.joystick.0.button.12=JOY2_3RD_BUTTON
|
||||||
#input.1.joystick.1.button.7=JOY2_2ND_BUTTON
|
#input.1.joystick.1.button.7=JOY2_2ND_BUTTON
|
||||||
#input.1.joystick.1.button.11=JOY2_2ND_BUTTON
|
#input.1.joystick.1.button.11=JOY2_2ND_BUTTON
|
||||||
|
|
||||||
#GAME PAD 1
|
#GAME PAD 1 as Joystick 2
|
||||||
input.1.joystick.4.disabled=0
|
input.1.joystick.4.disabled=0
|
||||||
input.1.joystick.4.axis.0=JOY2_HORIZ
|
input.1.joystick.4.axis.0=JOY2_HORIZ
|
||||||
input.1.joystick.4.axis.1=JOY2_VERT
|
input.1.joystick.4.axis.1=JOY2_VERT
|
||||||
@ -148,10 +150,17 @@ input.1.joystick.4.button.0=JOY2_FIRE_BUTTON
|
|||||||
input.1.joystick.4.button.7=SPC_ENTERGUI
|
input.1.joystick.4.button.7=SPC_ENTERGUI
|
||||||
#input.1.joystick.4.button.1=JOY2_2ND_BUTTON
|
#input.1.joystick.4.button.1=JOY2_2ND_BUTTON
|
||||||
|
|
||||||
|
#GAME PAD 2 as Joystick 1
|
||||||
|
input.1.joystick.5.disabled=0
|
||||||
|
input.1.joystick.5.axis.0=JOY1_HORIZ
|
||||||
|
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
|
# Graphic configuration
|
||||||
|
|
||||||
# Necessary to get the relative coordinates from mouse emulated with wiimote
|
# Necessary to get the relative coordinates from mouse emulated with wiimote IR pointer
|
||||||
gfx_fullscreen_amiga=true
|
gfx_fullscreen_amiga=true
|
||||||
|
|
||||||
# Set the screen dimensions
|
# Set the screen dimensions
|
||||||
@ -163,14 +172,13 @@ gfx_center_horizontal=true
|
|||||||
gfx_center_vertical=true
|
gfx_center_vertical=true
|
||||||
gfx_vsync=false
|
gfx_vsync=false
|
||||||
|
|
||||||
# Set true to adapt the Amiga screen to Wii screen
|
# Set true to adapt the Amiga screen to Wii SDL screen (640X480)
|
||||||
gfx_correct_aspect=false
|
gfx_correct_aspect=false
|
||||||
|
|
||||||
# Set the screen correct % ratio when gfx_correct_aspect is true - possible values 80-100
|
# Set the screen correct % ratio when gfx_correct_aspect is true - possible values 80-100
|
||||||
gfx_correct_ratio=93
|
gfx_correct_ratio=93
|
||||||
|
|
||||||
|
# Set the framerate (Values are between 1 and 20)
|
||||||
# Set the framerate
|
|
||||||
gfx_framerate=2
|
gfx_framerate=2
|
||||||
|
|
||||||
# Enable 2 floppies
|
# Enable 2 floppies
|
||||||
|
Loading…
Reference in New Issue
Block a user