Zidanax -
I made a Lua script which should make the sim parts easier. It tracks the enemies off screen, and tells you their position relative to the camera.
Also, the angel tells you the soul counter and the timer.
AngelX =0x7E0AEE;
AngelY =0x7E0AF0;
EnX = {};
EnY ={};
EX = {};
EY = {};
EnX[1] = 0x7E0BAC;
EnY[1] = 0x7E0BAE;
EnX[2] = 0x7E0B60;
EnY[2] = 0x7E0B62;
EnX[3] = 0x7E0B86;
EnY[3] = 0x7E0B88;
EnX[4] = 0x7E0B3A;
EnY[4] = 0x7E0B3C;
CameraX = 0x7E0022;
CameraY = 0x7E0024;
TimerAdd = 0x7F91FE;
local s_timer
local soulcounter
local pop
local soultxt
local AX
local AY
local colormat = {"black","red","blue","white"};
gui.transparency(0)
while true do
local soulc1 = memory.readbyte(0x7F9EFA)
local soulc2 = memory.readbyte(0x7F9EFB)
s_timer = memory.readbyte(TimerAdd+1);
AX = memory.readbyte(AngelX) + 256*memory.readbyte(AngelX+1);
AY = memory.readbyte(AngelY) + 256*memory.readbyte(AngelY+1);
CX = memory.readbyte(CameraX) + 256*memory.readbyte(CameraX+1);
CY = memory.readbyte(CameraY) + 256*memory.readbyte(CameraY+1);
for i =1,4,1 do
EX[i] = memory.readbyte(EnX[i]) + 256* memory.readbyte(EnX[i]+1);
EY[i] = memory.readbyte(EnY[i]) + 256* memory.readbyte(EnY[i]+1);
if (EX[i]-CX >= 0) and (EY[i] - CY < 220) then
gui.drawbox(0,EY[i]-CY,12,EY[i]-CY+12,colormat[i]);
gui.text(1,EY[i]-CY,string.format("%d,%d",EX[i]-CX,EY[i]-CY));
elseif (EY[i] - CY > 242) then
if (EY[i] - CY >= 0) and (EY[i] - CY < 210) then
gui.drawbox(245,EY[i]-CY,255,EY[i]-CY+12,colormat[i]);
gui.text(210,EY[i]-CY,string.format("%d,%d",EX[i]-CX-256,EY[i]-CY));
elseif (EY[i] - CY < 0) then
gui.text(205,0,string.format("%d,%d",EX[i]-CX,EY[i]-CY));
else
gui.text(210,212,string.format("%d,%d",EX[i]-CX,EY[i]-CY-212));
end;
elseif (EY[i]-CY > 210) then
gui.drawbox(EX[i]-CX,212,EX[i]-CX+12,222,colormat[i]);
gui.text(EX[i]-CX,212,string.format("%d,%d",EX[i]-CX,EY[i]-CY-210));
end;
end;
soulcounter = soulc1 + soulc2*256
gui.text(AX-CX,AY-CY,soulcounter);
gui.text(AX-CX,AY-CY+10,s_timer);
snes9x.frameadvance()
end