Here... take the below code, rename to "vcop.lua" and put it in your scripts folder.
It will attempt to load two 48x48 pngs... cross1.png and cross2.png out of the model 2 folder. If you don't make some pngs it will crash.
============================================================================================
require("model2"); -- Import model2 machine globals
--require("ReadLines"); -not used
function Init()
P1CH=Video_CreateSurfaceFromFile("cross1.png")
P2CH=Video_CreateSurfaceFromFile("cross2.png")
end
function PostDraw()
P1AX = (I960_ReadWord(0x501620))
P1AY = (I960_ReadWord(0x501610))
P2AX = (I960_ReadWord(0x501690))
P2AY = (I960_ReadWord(0x5015f8))
width,height = Video_GetScreenSize();
XPOS = (P1AX - 131) / 495;
XPOS = XPOS * width;
YPOS = ((P1AY - 36) / 383)-1;
YPOS = height+(YPOS * height);
XPOS2 = (P2AX - 131) / 495;
XPOS2 = XPOS2 * width;
YPOS2 = ((P2AY - 36) / 383)-1;
YPOS2 = height+(YPOS2 * height);
--Video_DrawText(XPOS,YPOS,"+",0xff0000)
--Video_DrawText(XPOS2,YPOS2,"+",0x0000ff)
--Video_DrawText(20,20,XPOS,0xff0000)
--Video_DrawText(20,40,YPOS,0x0000ff)
Video_DrawSurface(P1CH,XPOS-24,YPOS-24)
Video_DrawSurface(P2CH,XPOS2-24,YPOS2-24)
end
=========================================================================================================
Basically all this script does is read the memory addresses that have the x/y values in them. Then it divides by their maximum values to get the percantage and multiplies the percantage by the screen width or height. (Y axis has to be negated) The the loaded cursors are drawn in that position minus 24 (half of 48). Easy stuff, and we can modify it a lot, like having a key to toggle them on/off and saving the setting.