1  /*
2   * UAE - The Un*x Amiga Emulator
3   *
4   * Interface to the Tcl/Tk GUI
5   *
6   * Copyright 1996 Bernd Schmidt
7   */
8 
9 #include "sysconfig.h"
10 #include "sysdeps.h"
11 
12 #include "options.h"
13 #include "gui.h"
14 
gui_init(void)15 int gui_init (void)
16 {
17 }
18 
gui_fps(int fps,int idle,int color)19 void gui_fps (int fps, int idle, int color)
20 {
21     gui_data.fps  = fps;
22     gui_data.idle = idle;
23 }
24 
gui_flicker_led(int led,int unitnum,int status)25 void gui_flicker_led (int led, int unitnum, int status)
26 {
27 }
28 
gui_led(int led,int on)29 void gui_led (int led, int on)
30 {
31 }
32 
gui_filename(int num,const char * name)33 void gui_filename (int num, const char *name)
34 {
35 }
36 
gui_handle_events(void)37 void gui_handle_events (void)
38 {
39 }
40 
gui_update(void)41 int gui_update (void)
42 {
43 	return 0;
44 }
45 
gui_exit(void)46 void gui_exit (void)
47 {
48 }
49 
gui_display(int shortcut)50 void gui_display(int shortcut)
51 {
52 }
53 
gui_message(const char * format,...)54 void gui_message (const char *format,...)
55 {
56        char msg[2048];
57        va_list parms;
58 
59        va_start (parms,format);
60        vsprintf ( msg, format, parms);
61        va_end (parms);
62 
63        write_log (msg);
64 }
65 
gui_disk_image_change(int unitnum,const TCHAR * name,bool writeprotected)66 void gui_disk_image_change (int unitnum, const TCHAR *name, bool writeprotected) {}
gui_lock(void)67 void gui_lock (void) {}
gui_unlock(void)68 void gui_unlock (void) {}
69 
70 static int guijoybutton[MAX_JPORTS];
71 static int guijoyaxis[MAX_JPORTS][4];
72 static bool guijoychange;
73 
gui_gameport_button_change(int port,int button,int onoff)74 void gui_gameport_button_change (int port, int button, int onoff)
75 {
76         //write_log ("%d %d %d\n", port, button, onoff);
77 #ifdef RETROPLATFORM
78         int mask = 0;
79         if (button == JOYBUTTON_CD32_PLAY)
80                 mask = RP_JOYSTICK_BUTTON5;
81         if (button == JOYBUTTON_CD32_RWD)
82                 mask = RP_JOYSTICK_BUTTON6;
83         if (button == JOYBUTTON_CD32_FFW)
84                 mask = RP_JOYSTICK_BUTTON7;
85         if (button == JOYBUTTON_CD32_GREEN)
86                 mask = RP_JOYSTICK_BUTTON4;
87         if (button == JOYBUTTON_3 || button == JOYBUTTON_CD32_YELLOW)
88                 mask = RP_JOYSTICK_BUTTON3;
89         if (button == JOYBUTTON_1 || button == JOYBUTTON_CD32_RED)
90                 mask = RP_JOYSTICK_BUTTON1;
91         if (button == JOYBUTTON_2 || button == JOYBUTTON_CD32_BLUE)
92                 mask = RP_JOYSTICK_BUTTON2;
93         rp_update_gameport (port, mask, onoff);
94 #endif
95         if (onoff)
96                 guijoybutton[port] |= 1 << button;
97         else
98                 guijoybutton[port] &= ~(1 << button);
99         guijoychange = true;
100 }
101 
gui_gameport_axis_change(int port,int axis,int state,int max)102 void gui_gameport_axis_change (int port, int axis, int state, int max)
103 {
104         int onoff = state ? 100 : 0;
105         if (axis < 0 || axis > 3)
106                 return;
107         if (max < 0) {
108                 if (guijoyaxis[port][axis] == 0)
109                         return;
110                 if (guijoyaxis[port][axis] > 0)
111                         guijoyaxis[port][axis]--;
112         } else {
113                 if (state > max)
114                         state = max;
115                 if (state < 0)
116                         state = 0;
117                 guijoyaxis[port][axis] = max ? state * 127 / max : onoff;
118 #ifdef RETROPLATFORM
119                 if (axis == DIR_LEFT_BIT)
120                         rp_update_gameport (port, RP_JOYSTICK_LEFT, onoff);
121                 if (axis == DIR_RIGHT_BIT)
122                         rp_update_gameport (port, DIR_RIGHT_BIT, onoff);
123                 if (axis == DIR_UP_BIT)
124                         rp_update_gameport (port, DIR_UP_BIT, onoff);
125                 if (axis == DIR_DOWN_BIT)
126                         rp_update_gameport (port, DIR_DOWN_BIT, onoff);
127 #endif
128         }
129         guijoychange = true;
130 }
131 
132