posx = 10 posy = 180 xnum = 10 - 1 ynum = 4 - 1 wid = 24 hei = 10 while true do r1 = memory.readbyte(0x7E0338) r2 = memory.readbyte(0x7E0339) r3 = memory.readbyte(0x7E033A) r4 = memory.readbyte(0x7E033B) if (r1 == 0 and r2 == 0 and r3 == 0 and r4 == 0) then -- デモ用の初期乱数 r1 = 0x2E r2 = 0x16 r3 = 0x34 r4 = 0x12 -- 1だったらデモ乱数、1じゃなかったら下で生成 if (memory.readbyte(0x7E0070) ~= 1) then -- 通常の初期乱数 -- マップ中で常に変動する値(多分マップ乱数使用) tr = bit.bxor(memory.readword(0x7E000C), 0x162E) r1 = tr % 256 r2 = math.floor(tr / 256) -- 戦闘中で常に変動する値(1Fにつき-1) tr = bit.bxor(memory.readword(0x7EFEF0), 0x1234) r3 = tr % 256 r4 = math.floor(tr / 256) end end for j = 0, ynum do for i = 0, xnum do r0 = math.floor((r2*256+r1)/13) % 256 r1 = r2 r2 = r3 r3 = r4 r4 = r0 gui.text(posx+i*wid, posy+j*hei, r0) end end snes9x.frameadvance() end