Caverns

Discuss LCDGameModes by Steve Harrison
JonAbbott
Posts: 1736
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Caverns

Post by JonAbbott » Mon Sep 02, 2013 8:13 pm

Caverns does weird things on RO4 / SA, when it writes the cursor it tries writing past CursorData (1F03800-1F03FFF) well into "nowhere" (1F08000-1F87FFF)

Works fine on RO4 / ARM710 and RO3.71 / SA, so it must be related to the changes made on RO4 to support either lazy task swapping or the cached screen. Needs further investigation.

One thing I have noticed is that RO4 / SA puts page protection on CursorChunkAddress (1F00000-1F08000), so I've added support to the abort handler to do the write on the games behalf. I suspect it may do the same to page zero, but haven't checked yet.

JonAbbott
Posts: 1736
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Caverns

Post by JonAbbott » Wed Dec 18, 2013 9:55 am

JonAbbott wrote:On further investigation, this is what happens when there's no VRAM (seems my 2mb strip is faulty). Behaviour is identical on both ARM610 and StrongARM. With 1MB or 2MB of VRAM there's no corruption, just juddering when scrolling horizontally.
We need to figure out why these two issues occur, the no-VRAM issue must be ram timing issues although I'm not sure how to fix it.

The juddering sounds like a difference in capabilities between VIDC1 and VIDC20, Xavier mentioned some MEMC bits which allow you to specify which byte the DMA starts on...that might cause this issue although I can find no mention of it in my manuals.
JonAbbott wrote:Caverns does weird things on RO4 / SA, when it writes the cursor it tries writing past CursorData (1F03800-1F03FFF) well into "nowhere" (1F08000-1F87FFF)
I'll try this under the JIT to see if its a StrongARM compatibility issue.

JonAbbott
Posts: 1736
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Caverns

Post by JonAbbott » Thu Feb 27, 2014 8:53 pm

JonAbbott wrote:2. Scrolling not working on a RiscPC
Adding hardware scrolling seems to have resolved the corrupt display we were getting previously when the game scrolled, it's still not quite correct on physical though as it jump horizontally by 32 or so pixels. You'll have to try it to see what I mean.

It scrolls correctly under emulation however, not that it helps us!

Post Reply