A7000 support

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

A7000 support

Post by JonAbbott » Mon Aug 05, 2013 9:38 am

As suspected, simply increasing the VIDC20 reference clock to 32000 doesn't get things working on the A7000. The issue is DCTL, which needs RAM to be set as Synchronous, with that set it seems to work okay.

Steve, whilst testing the RPC with no VRAM, did DCTL need to be set as Asynchronous or Synchronous? ADFFS is currently setting it to Asynchronous. Unfortunately, my RPC is at the bottom of the stack of Arc's, so I'll have to wait for someone to visit to help me get at it to test :roll:

The question is, how do we detect either the VIDC20 VCLK reference clock speed or an A7000?

EDIT: Got the RPC out, seems it also needs DCTL set for Synchronous RAM. Scrolling in Caverns goes bonkers with no VRAM though!

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

Re: A7000 support

Post by JonAbbott » Mon Aug 05, 2013 9:41 am

Interestingly, Caverns doesn't have scrolling issues on an A7000.

ADFFSa7k module on dev site if you wish to try, its hard-coded for VCLK being 32000 and DCTL as Synchronous.

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

Re: A7000 support

Post by JonAbbott » Mon Aug 05, 2013 5:01 pm

ADFFS 2.17e module and source on dev site, which detects an A7000 and alters the VIDC20 reference clock accordingly.

To determine if the machine in an A7000, it queries IOMD_ID1 (adffs.cpuid detect_IOMD) and checks if it's an ARM7500 or ARM7500FE processor.

steve3000
Posts: 198
Joined: Thu May 02, 2013 9:25 pm

Re: A7000 support

Post by steve3000 » Tue Aug 06, 2013 1:20 pm

JonAbbott wrote:EDIT: Got the RPC out, seems it also needs DCTL set for Synchronous RAM. Scrolling in Caverns goes bonkers with no VRAM though!
Yes Synchronous for no VRAM as you found, this is in 2.16v.

Not sure why Caverns goes so wrong with scrolling. Does this happen with 2.16v which I sent? Most perplexing...

I've just had an enormous pile of extra work come in (covering for 2 people + my own work) so no time to do any testing right now, but I'll dig out Caverns and Rockfall and have a play at the weekend.

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

Re: A7000 support

Post by JonAbbott » Tue Aug 06, 2013 7:37 pm

steve3000 wrote:Not sure why Caverns goes so wrong with scrolling. Does this happen with 2.16v which I sent? Most perplexing...
2.16v has the same issue.

In theory, an A7000 should be close to a RPC with no VRAM. Differences being the VIDC, CPU and RAM clock rates.
With no VRAM, instead of just juddering, the screen swaps between being ormal and completely corrupt or blank, as it scrolls horizontally. With 2mb VRAM it just looks like HBER or HDER are wrong, but the corruption sounds like the FIFO not filling quick enough. That may also explain the blank screen in Rockfall.

I'll try manually changing the DMA settings and see if it corrects the problem.

steve3000
Posts: 198
Joined: Thu May 02, 2013 9:25 pm

Re: A7000 support

Post by steve3000 » Sun Sep 22, 2013 4:33 am

JonAbbott wrote:In theory, an A7000 should be close to a RPC with no VRAM.
Although I've not had a chance to code much in the last 6 weeks or so, I have finally obtained a working A7000 motherboard, and have popped it into my (previously dead) A7000's box - so at long last I have a working A7000!

Had a brief chance to play with it a couple of weeks back and it's great. Only RO3.71 and the internal 4Mb at the moment (need to find a SIMM to boost that a little) - but already noticing differences to the RiscPC. First difference - I can assign up to 3Mb as screen memory. Can't get into high bandwidth modes (obviously), but suggests this memory could be used for bank swapping. I wonder, does the No-VRAM RiscPC allow >2Mb of assigned screen memory?

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

Re: A7000 support

Post by JonAbbott » Sun Sep 22, 2013 8:09 am

steve3000 wrote:Only RO3.71 and the internal 4Mb at the moment (need to find a SIMM to boost that a little) - but already noticing differences to the RiscPC. First difference - I can assign up to 3Mb as screen memory. Can't get into high bandwidth modes (obviously), but suggests this memory could be used for bank swapping. I wonder, does the No-VRAM RiscPC allow >2Mb of assigned screen memory?
Interesting, understandable though as it's not locked to the VRAM size limits.

I have a ton of RAM here that I purchased to upgrade all these machines, I'll find a working 32mb and post it to you...drop me a PM.

steve3000
Posts: 198
Joined: Thu May 02, 2013 9:25 pm

Re: A7000 support

Post by steve3000 » Sun Sep 22, 2013 5:02 pm

Great stuff! Thanks Jon - you have a PM.

Post Reply