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