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