All pastes #1983880 Raw Edit

Dave-memory-script.lua

public text v1 · immutable
#1983880 ·published 2010-11-06 21:02 UTC
rendered paste body
dofile("textrender.lua");

addrs = {};

addrbias = 0;
xposaddr = 0x5A92A + addrbias;
yposaddr = 0x5A92C + addrbias;
screaddr = 0x59EA0 + addrbias;
htreaddr = 0x5A1C8 + addrbias;
hgunaddr = 0x5A1C4 + addrbias;
hjpkaddr = 0x5A1CA + addrbias;
jpkfaddr = 0x5A9D8 + addrbias;
liveaddr = 0x5A92E + addrbias;
hscraddr = 0x5A9E0 + addrbias;
leveaddr = 0x5A934 + addrbias;

validkeys = {U = 128 + 72, D = 128 + 80, L = 128 + 75, R = 128 + 77, J = 184, F = 157};
lastlpos = 0;

while true do
	eventtype, eventmessage = jpcrr.wait_event();
	if eventtype == "message" then
	end
	if eventtype == "lock" then
		jpcrr.hud.right_gap(3, 160);
		thisclocktime = jpcrr.clock_time();
		xpos = jpcrr.read_word(xposaddr);
		ypos = jpcrr.read_word(yposaddr);
		scre = jpcrr.read_word(screaddr);
		htre = jpcrr.read_byte(htreaddr);
		hgun = jpcrr.read_byte(hgunaddr);
		hjpk = jpcrr.read_byte(hjpkaddr);
		live = jpcrr.read_byte(liveaddr);
		hscr = jpcrr.read_word(hscraddr);
		jpkf = jpcrr.read_byte(jpkfaddr);
		leve = jpcrr.read_byte(leveaddr);
		fram = jpcrr.frame_number();

		render_text(3, 640,    0, "TIME " .. tostring(math.floor(jpcrr.clock_time() / 1000000) / 1000), false, 255, 255, 0);
		render_text(3, 640,    16, "FRAM " .. tostring(fram), false, 255, 255, 0);

		keys = {};
		for k, v in pairs(validkeys) do
			keys[k] = jpcrr.keypressed(v);
		end

		if keys.L then	render_text(3, 640, 32, "L", false, 255, 255, 0); end
		if keys.R then	render_text(3, 648, 32, "R", false, 255, 255, 0); end
		if keys.U then	render_text(3, 656, 32, "U", false, 255, 255, 0); end
		if keys.D then	render_text(3, 664, 32, "D", false, 255, 255, 0); end
		if keys.J then	render_text(3, 672, 32, "J", false, 255, 255, 0); end
		if keys.F then	render_text(3, 680, 32, "F", false, 255, 255, 0); end

		render_text(3, 640,    48, "XPOS " .. tostring(xpos + 16 * hscr), false, 255, 255, 0);
		render_text(3, 640,    64, "YPOS " .. tostring(ypos), false, 255, 255, 0);
		render_text(3, 640,    80, "SCRE " .. tostring(scre), false, 255, 255, 0);
		render_text(3, 640,    96, "ITEM ", false, 255, 255, 0);
		if htre ~= 0 then
			render_text(3, 680,    96, "T", false, 0, 255, 0);
		else
			render_text(3, 680,    96, "T", false, 255, 0, 0);
		end
		if hgun ~= 0 then
			render_text(3, 688,    96, "G", false, 0, 255, 0);
		else
			render_text(3, 688,    96, "G", false, 255, 0, 0);
		end
		if hjpk ~= 0 then
			render_text(3, 696,    96, "J", false, 0, 255, 0);
		else
			render_text(3, 696,    96, "J", false, 255, 0, 0);
		end
		render_text(3, 640,    112, "LIVE " .. tostring(live), false, 255, 255, 0);
		render_text(3, 640,    128, "HSCR " .. tostring(hscr), false, 255, 255, 0);
		if hjpk ~= 0 then
			render_text(3, 640,    144, "JPKF " .. tostring(jpkf), false, 255, 255, 0);
		else
			render_text(3, 640,    144, "JPKF N/A", false, 255, 255, 0);
		end
		render_text(3, 640,    160, "LEVE " .. tostring(leve + 1), false, 255, 255, 0);
		jpcrr.release_vga();
	end
end