~rabbits/uxn

53f3c18dcf6227bc382e77a4b9062dec0ddcd334 — Devine Lu Linvega 12 days ago 87de244
Removed GETVEC macro
6 files changed, 12 insertions(+), 13 deletions(-)

M src/devices/controller.c
M src/devices/mouse.c
M src/devices/system.c
M src/uxn.h
M src/uxncli.c
M src/uxnemu.c
M src/devices/controller.c => src/devices/controller.c +3 -3
@@ 17,7 17,7 @@ controller_down(Uxn *u, Uint8 *d, Uint8 mask)
{
	if(mask) {
		d[2] |= mask;
		uxn_eval(u, GETVEC(d));
		uxn_eval(u, PEEK16(d));
	}
}



@@ 26,7 26,7 @@ controller_up(Uxn *u, Uint8 *d, Uint8 mask)
{
	if(mask) {
		d[2] &= (~mask);
		uxn_eval(u, GETVEC(d));
		uxn_eval(u, PEEK16(d));
	}
}



@@ 35,7 35,7 @@ controller_key(Uxn *u, Uint8 *d, Uint8 key)
{
	if(key) {
		d[3] = key;
		uxn_eval(u, GETVEC(d));
		uxn_eval(u, PEEK16(d));
		d[3] = 0x00;
	}
}

M src/devices/mouse.c => src/devices/mouse.c +4 -4
@@ 16,14 16,14 @@ void
mouse_down(Uxn *u, Uint8 *d, Uint8 mask)
{
	d[6] |= mask;
	uxn_eval(u, GETVEC(d));
	uxn_eval(u, PEEK16(d));
}

void
mouse_up(Uxn *u, Uint8 *d, Uint8 mask)
{
	d[6] &= (~mask);
	uxn_eval(u, GETVEC(d));
	uxn_eval(u, PEEK16(d));
}

void


@@ 31,7 31,7 @@ mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
{
	POKDEV(0x2, x);
	POKDEV(0x4, y);
	uxn_eval(u, GETVEC(d));
	uxn_eval(u, PEEK16(d));
}

void


@@ 39,7 39,7 @@ mouse_scroll(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
{
	POKDEV(0xa, x);
	POKDEV(0xc, -y);
	uxn_eval(u, GETVEC(d));
	uxn_eval(u, PEEK16(d));
	POKDEV(0xa, 0);
	POKDEV(0xc, 0);
}

M src/devices/system.c => src/devices/system.c +1 -1
@@ 87,7 87,7 @@ int
uxn_halt(Uxn *u, Uint8 instr, Uint8 err, Uint16 addr)
{
	Uint8 *d = &u->dev[0x00];
	Uint16 handler = GETVEC(d);
	Uint16 handler = PEEK16(d);
	if(handler) {
		u->wst->ptr = 4;
		u->wst->dat[0] = addr >> 0x8;

M src/uxn.h => src/uxn.h +0 -1
@@ 16,7 16,6 @@ WITH REGARD TO THIS SOFTWARE.
#define POKE16(d, v) { (d)[0] = (v) >> 8; (d)[1] = (v); }
#define PEEK16(d) ((d)[0] << 8 | (d)[1])

#define GETVEC(d) ((d)[0] << 8 | (d)[1])
#define POKDEV(x, y) { d[(x)] = (y) >> 8; d[(x) + 1] = (y); }
#define PEKDEV(o, x) { (o) = (d[(x)] << 8) + d[(x) + 1]; }


M src/uxncli.c => src/uxncli.c +1 -1
@@ 31,7 31,7 @@ console_input(Uxn *u, char c)
{
	Uint8 *d = &u->dev[0x10];
	d[0x02] = c;
	return uxn_eval(u, GETVEC(d));
	return uxn_eval(u, PEEK16(d));
}

static void

M src/uxnemu.c => src/uxnemu.c +3 -3
@@ 67,7 67,7 @@ console_input(Uxn *u, char c)
{
	Uint8 *d = &u->dev[0x10];
	d[0x02] = c;
	return uxn_eval(u, GETVEC(d));
	return uxn_eval(u, PEEK16(d));
}

static void


@@ 388,7 388,7 @@ handle_events(Uxn *u)
		}
		/* Audio */
		else if(event.type >= audio0_event && event.type < audio0_event + POLYPHONY) {
			uxn_eval(u, GETVEC(&u->dev[0x30 + 0x10 * (event.type - audio0_event)]));
			uxn_eval(u, PEEK16(&u->dev[0x30 + 0x10 * (event.type - audio0_event)]));
		}
		/* Mouse */
		else if(event.type == SDL_MOUSEMOTION)


@@ 445,7 445,7 @@ run(Uxn *u)
		exec_deadline = now + deadline_interval;
		if(!handle_events(u))
			return 0;
		uxn_eval(u, GETVEC(&u->dev[0x20]));
		uxn_eval(u, PEEK16(&u->dev[0x20]));
		if(uxn_screen.fg.changed || uxn_screen.bg.changed)
			redraw();
		now = SDL_GetPerformanceCounter();