Fix build
This commit is contained in:
parent
22fed0fea1
commit
dda0cf5006
11
Makefile
11
Makefile
|
@ -1,7 +1,7 @@
|
|||
LDFLAGS = $(shell pkg-config --libs sdl2 r_util r_io)
|
||||
CFLAGS = -Wall -I include/ $(shell pkg-config --cflags sdl2 r_util r_io)
|
||||
|
||||
all: sdl/pixbuf.o io/timers.o
|
||||
all: sdl/pixbuf.o io/timers.o io/mbc1.o io/mbc2.o io/joypad.o
|
||||
|
||||
sdl/pixbuf.o:
|
||||
gcc -c sdl/pixbuf.c -o sdl/pixbuf.o $(CFLAGS)
|
||||
|
@ -9,5 +9,14 @@ sdl/pixbuf.o:
|
|||
io/timers.o:
|
||||
gcc -c io/timers.c -o io/timers.o $(CFLAGS)
|
||||
|
||||
io/mbc1.o:
|
||||
gcc -c io/mbc1.c -o io/mbc1.o $(CFLAGS)
|
||||
|
||||
io/mbc2.o:
|
||||
gcc -c io/mbc2.c -o io/mbc2.o $(CFLAGS)
|
||||
|
||||
io/joypad.o:
|
||||
gcc -c io/joypad.c -o io/joypad.o $(CFLAGS)
|
||||
|
||||
clean:
|
||||
rm sdl/*.o && rm io/*.o
|
||||
|
|
|
@ -48,5 +48,6 @@ void gb_joypad_close(RIO *io, GBJoypad *joypad);
|
|||
extern RIOPlugin r_io_plugin_gb_timers;
|
||||
extern RIOPlugin r_io_plugin_gb_mbc1;
|
||||
extern RIOPlugin r_io_plugin_gb_mbc2;
|
||||
extern RIOPlugin r_io_plugin_gb_joypad;
|
||||
|
||||
#endif
|
||||
|
|
13
io/joypad.c
13
io/joypad.c
|
@ -15,12 +15,12 @@ static RIODesc *__open(RIO *io, const char *pathname, int rw, int mode) {
|
|||
GBJoypad *joypad = NULL;
|
||||
sscanf (pathname, "gb_joybad://%p", &joypad);
|
||||
RIODesc *desc = r_io_desc_new (io, &r_io_plugin_gb_joypad, pathname,
|
||||
R_PERM_RWX, mode, timers);
|
||||
R_PERM_RWX, mode, joypad);
|
||||
return desc;
|
||||
}
|
||||
|
||||
static ut64 __lseek(RIO* io, RIODesc *desc, ut64 offset, int whence) {
|
||||
GBJoypad *joypad = (GBTimers *)desc->data;
|
||||
GBJoypad *joypad = (GBJoypad *)desc->data;
|
||||
ut64 seek = (joypad->odata & 0x40) >> 6;
|
||||
switch (whence) {
|
||||
case R_IO_SEEK_SET:
|
||||
|
@ -33,7 +33,7 @@ static ut64 __lseek(RIO* io, RIODesc *desc, ut64 offset, int whence) {
|
|||
seek = 1;
|
||||
break;
|
||||
}
|
||||
joypad->odata = (joypad->odata & 0x3f) |
|
||||
joypad->odata = (joypad->odata & 0x3f) | (seek << 6);
|
||||
return seek;
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@ RIOPlugin r_io_plugin_gb_joypad = {
|
|||
};
|
||||
|
||||
GBJoypad *gb_joypad_open (RIO *io) {
|
||||
joypad = R_NEW0 (GBJoypad);
|
||||
GBJoypad *joypad = R_NEW0 (GBJoypad);
|
||||
if (!joypad) {
|
||||
return NULL;
|
||||
}
|
||||
|
@ -91,7 +91,8 @@ GBJoypad *gb_joypad_open (RIO *io) {
|
|||
return NULL;
|
||||
}
|
||||
joypad->fd = desc->fd;
|
||||
joypad->keys = SDL_GetKeyboardState (NULL);
|
||||
const ut8 *keys = SDL_GetKeyboardState (NULL);
|
||||
memcpy (&joypad->keys, &keys, sizeof (ut8 *));
|
||||
joypad->up = SDL_SCANCODE_W;
|
||||
joypad->down = SDL_SCANCODE_S;
|
||||
joypad->left = SDL_SCANCODE_A;
|
||||
|
@ -122,7 +123,7 @@ void gb_joypad_update(GBJoypad *joypad) {
|
|||
ndata = (ndata & 0x3) | (data & 0xc);
|
||||
}
|
||||
}
|
||||
if (!(joypad->data & 0x10)) {
|
||||
if (!(joypad->data & 0x10)) { //buttons
|
||||
ndata |= !!joypad->keys[joypad->a];
|
||||
ndata |= (!!joypad->keys[joypad->b]) << 1;
|
||||
ndata |= (!!joypad->keys[joypad->select]) << 2;
|
||||
|
|
|
@ -103,7 +103,7 @@ static RIODesc *__open(RIO *io, const char *pathname, int rw, int mode) {
|
|||
}
|
||||
eprintf ("%d rambanks\n", mbc->n_rambanks);
|
||||
} else {
|
||||
eprintf ("no external ram\n", mbc->n_rombanks);
|
||||
eprintf ("no external ram\n");
|
||||
}
|
||||
mbc->io = r_io_new ();
|
||||
if (!mbc->io) {
|
||||
|
@ -119,7 +119,7 @@ static RIODesc *__open(RIO *io, const char *pathname, int rw, int mode) {
|
|||
}
|
||||
if (mbc->n_rambanks) {
|
||||
char *malloc_uri = r_str_newf ("malloc://0x%"PFMT64x,
|
||||
mbc->small_ram? 0x800: (0x2000 * mbc->n_rambanks));
|
||||
(ut64)(mbc->small_ram? 0x800: (0x2000 * mbc->n_rambanks)));
|
||||
mbc->mem_fd = r_io_fd_open (mbc->io, malloc_uri, R_PERM_RW, 0);
|
||||
free (malloc_uri);
|
||||
if (mbc->mem_fd < 0) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user