Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-kde
Path: blob/main/emulators/gngb/files/patch-src_memory.c
16461 views
1
--- src/memory.c.orig 2006-04-28 17:13:47 UTC
2
+++ src/memory.c
3
@@ -33,6 +33,10 @@
4
#include "message.h"
5
#include "sgb.h"
6
7
+Uint16 key[SDLK_LAST];
8
+
9
+Uint8 vram_pal_line_temp[160][4];
10
+
11
static Uint8 gb_pad;
12
13
Uint8 rom_mask;
14
@@ -67,7 +71,7 @@ Uint8 ram_mask;
15
MEM_READ_ENTRY mem_read_tab[0x10];
16
MEM_WRITE_ENTRY mem_write_tab[0x10];
17
18
-Sint16 joy_x_min=0;joy_x_max=0;joy_y_min=0;joy_y_max=0;
19
+Sint16 joy_x_min=0,joy_x_max=0,joy_y_min=0,joy_y_max=0;
20
21
void (*select_rom_page)(Uint16 adr,Uint8 v);
22
void (*select_ram_page)(Uint16 adr,Uint8 v);
23
@@ -742,6 +746,13 @@ __inline__ void update_gb_pad(void) {
24
if (!conf.play_movie) {
25
26
if (conf.use_joy) {
27
+ Sint16 joy_x_pos=joy_axis[jmap[PAD_LEFT]];
28
+ Sint16 joy_y_pos=joy_axis[jmap[PAD_UP]];
29
+ Sint16 joy_x_mid=(joy_x_max-joy_x_min) / 2;
30
+ Sint16 joy_y_mid=(joy_y_max-joy_y_min) / 2;
31
+ Sint16 joy_x_qua=joy_x_mid / 2;
32
+ Sint16 joy_y_qua=joy_y_mid / 2;
33
+
34
if ((joy_but[jmap[PAD_START]]) || (key[kmap[PAD_START]])) gb_pad|=0x08; /* Start */
35
if ((joy_but[jmap[PAD_SELECT]]) || (key[kmap[PAD_SELECT]])) gb_pad|=0x04; /* Select */
36
if ((joy_but[jmap[PAD_A]]) || (key[kmap[PAD_A]])) gb_pad|=0x01; /* A */
37
@@ -752,18 +763,10 @@ __inline__ void update_gb_pad(void) {
38
if ((joy_axis[jmap[PAD_UP]]<-10000) || (key[kmap[PAD_UP]])) gb_pad|=0x40;
39
if ((joy_axis[jmap[PAD_DOWN]]>10000) || (key[kmap[PAD_DOWN]])) gb_pad|=0x80;*/
40
41
- Sint16 joy_x_pos=joy_axis[jmap[PAD_LEFT]];
42
- Sint16 joy_y_pos=joy_axis[jmap[PAD_UP]];
43
-
44
if (joy_x_pos>joy_x_max) joy_x_max=joy_x_pos;
45
if (joy_x_pos<joy_x_min) joy_x_min=joy_x_pos;
46
if (joy_y_pos>joy_y_max) joy_y_max=joy_y_pos;
47
if (joy_y_pos<joy_y_min) joy_y_min=joy_y_pos;
48
-
49
- Sint16 joy_x_mid=(joy_x_max-joy_x_min) / 2;
50
- Sint16 joy_y_mid=(joy_y_max-joy_y_min) / 2;
51
- Sint16 joy_x_qua=joy_x_mid / 2;
52
- Sint16 joy_y_qua=joy_y_mid / 2;
53
54
if ((joy_x_pos<(joy_x_mid-joy_x_qua)) || (key[kmap[PAD_LEFT]])) gb_pad|=0x20;
55
if ((joy_x_pos>(joy_x_mid+joy_x_qua)) || (key[kmap[PAD_RIGHT]])) gb_pad|=0x10;
56
57