If I reduce VCSR the ship appear further up the screen, but from the same position in the ship. This leads me to think that perhaps the start address of the cursor is incorrect or it's being copied to the OS cursor area, which has moved slightly. I doubt its using official methods to set the cursor, as I believe they're restricted to 32 pixels in height.JonAbbott wrote:I did try adjusting VCSR for Caverns, but it makes no difference. It's as if the hardware is programmed to only start displaying the cursor at a certain raster.
A give away is that if you increase VCER you see part of the OS mouse cursor...implying Caverns has copied the cursor over the OS area and simply has the wrong address. If this is the case, we've either got to set Cinit (MEMC) to the RO3.1 address or fixup Caverns as it loads to use the new OS address.
Anyone know what the address is on RO3.1 or 3.5+?
I've got to figure out how to capture Service_ModeExtension in a way that doesn't affect its normal operation.steve3000 wrote:I would prioritise the Service_ModeExtension patch, as this will give access to more overscan games and also will allow us to generate test extension modules with !customvdu - for specific testing.
EDIT: Done some memory browsing, it looks like the mouse cursor is at 1F03800 on both RO3.1 and RO3.71 (it looks like the cursor at any rate!), so its unlikely it's overwriting the OS cursor directly.
EDIT2: Spoke too soon, Caverns is overwriting the cursor by directly writing to 1F03800, (GameCode offset 4ABE8)