www.virtualacorn.co.uk/forum

For support and advice on VirtualAcorn products
Forums now closed. This is an HTML only record of the content.
HTML version of Forum generated Thursday 24th May 2018

All times are UTC [ DST ]




Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: !Rover from Avisoft
PostPosted: Wed Oct 29, 2008 2:55 pm 
Offline

Joined: Fri Oct 19, 2007 8:39 pm
Posts: 30
Location: Ash Canterbury
Has anyone tried this program on their Mac VRPC. I have found it crashes Risc OS or VRPC. I've been in contact with Martin, the author, and it is possible I am the first one to try it. Any further reports would be useful.

It is available from http://www.avisoft.f9.co.uk if anyone want to try it out.

Dave Lawson


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Fri Oct 31, 2008 11:25 am 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
I've never tried this myself, sorry.


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Fri Oct 31, 2008 1:54 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
It appears that the problem occurs when the ArmSort module is RMLoaded in the !Rover.!Run file.
Investigations are continuing ...

_________________
Martin


Top
 Profile  
 
 Post subject: UMULL instruction (was Re: !Rover from Avisoft)
PostPosted: Sat Nov 01, 2008 3:41 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
The failure of VRPC was provoked by RMloading my ArmSort module, thus probably caused by the module initialisation code. Fortunately ArmSort does very little during initialisation, so it was easy to debug.

The cause seems to be an UMULL instruction. This is done just to multiply 3x7 to see if the instruction is available on the current processor. This works on all known real processors, and on Windows VRPC-SA (StrongArm and Arm7500), but seems to cause total emulator failure on Mac VRPC-SA, at least using the StrongArm emulation. I have asked Dave to check the other Mac emulations also.

The code is simply
MOV r0,#0
MOV r1,#0
MOV r2,#3
MOV r3,#7
UMULL r0,r1,r2,r3 <<< this is the instruction causing failure

As this appears to be an emulator problem, please can anyone else verify that my findings are correct?
I can provide further information and a small test program if required.

_________________
Martin


Top
 Profile  
 
 Post subject: UMULL instruction (was Re: !Rover from Avisoft)
PostPosted: Sat Nov 01, 2008 7:03 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
Further tests by Dave have shown that the UMULL instruction works as expected with both the Arm710 and Arm7500 emulations (in that the instruction does nothing).

So, it seems that it is just the Mac StrongArm engine which fails when executing a UMULL instruction, instead of the multiply working.

_________________
Martin


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Sun Nov 02, 2008 10:30 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
OK, is that when running in Intel or G4/G5 architecture machines? The emulated CPU is different across these two types of Host CPU.


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Mon Nov 03, 2008 10:04 am 
Offline

Joined: Fri Oct 19, 2007 8:39 pm
Posts: 30
Location: Ash Canterbury
Aaron wrote:
OK, is that when running in Intel or G4/G5 architecture machines? The emulated CPU is different across these two types of Host CPU.


I'm using an iBook G4 Mac OS X 10.4.11

Dave


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Mon Nov 03, 2008 1:47 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
OK - you need to forward this to Martin, it may be that all the !Rover problems are occuring on G4/G5 machines and that Intel Macs don't have the same issues.


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Mon Nov 03, 2008 2:15 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
Don't worry - I am watching this closely, and am in touch with Dave.

Form the evidence I have, this is NOT a Rover problem.

It is a problem caused when a UMULL instruction is executed under the Mac G4 StrongArm emulator, causing it to fail totally.

This instruction is used in the initialisation of my ArmSort module, which is loaded by !Rover.!Run, and it also fails when used in a simple test program to multiply 3x7.

There is no failure when executing the UMULL instruction on Mac G4 on Arm710 or Arm7500 emulations, or on any Windows VA emulator I have tried.

However, although the UMULL instruction is not a commonly used one, I am suprised that this problem has not surfaced before, so perhaps it also depends on other things (eg the initial register values?).

I can provide my little test program if required.

_________________
Martin


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Mon Nov 03, 2008 10:07 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
The point is that the emulated CPU Cores in VRPC for the Mac are not the same for G4/G5 and Intel CPUs. So we need to find out if the problem happens on Intel Macs as well.


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Mon Nov 03, 2008 11:14 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
Yup. I understand that. But I do not have access to any Mac with VA. We need someone with an Intel Mac + VA to try my little test program. Any offers?

_________________
Martin


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Sat Nov 08, 2008 12:35 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
I now have the results of some kind people running my small BASIC program to
test the UMULL instruction on Mac VA.

Code:
MAC OS  Processor         RISC OS      Arm710     Arm7500  StrongArm

10.5.4  Quad Intel Zeon    4.39         OK           OK         OK
10.5.5  Intel              4.39        not tested    OK         OK
10.5.5  Intel Core 2 Duo  Select 6.10   OK           OK         OK
10.4.11 G4                 4.39         OK           OK       *Fails*
10.4.11 G4                 4.39         OK           OK       *Fails*

This seems to imply that Intel machines are ok, and G4 machines are not.
Or possibly OSX 10.5 is ok, 10.4 is not.

But it would be help Aaron diagnose this severe problem if he had even
more results.

Therefore I would like help from other users to run the test program on
Mac VRPC installations (both G4/G5 and Intel processors, and on each of
the Arm710, Arm7500 and StrongArm emulations) to verify how common this
problem is. It will only take a few minutes!

Please let me know if you can help, and specify which processor you have.

Thanks

_________________
Martin


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Fri Nov 14, 2008 4:11 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
I have now run a program to find any uses of the UMULL instruction in all the modules normally active when running RO4.39. And there are NONE! Which could explain why there have been so few problems reported!

Aaron: did you get the test program and Mac debug info that I sent you?
Have you had chance yet to verify that there is a problem with the UMULL instruction on a G4 Mac?

_________________
Martin


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Sat Nov 15, 2008 12:02 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
Sorry, no I haven't had the test program. It does certainly seem that there is a problem with the PowerPC JIT - but we have not had time to investigate this yet.


Top
 Profile  
 
 Post subject: Re: !Rover from Avisoft
PostPosted: Sat Nov 15, 2008 2:15 pm 
Offline

Joined: Tue May 02, 2006 10:37 pm
Posts: 15
Aaron: I sent the test program and dump to info at virtualacorn last Saturday, as it was the only address I could find on the VA website. I have now sent them again to support at virt... as in the VA manual.

_________________
Martin


Top
 Profile  
 
 
Post new topic Reply to topic  [ 19 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

   
Forums originally Powered by phpBB © 2007 phpBB Group. Contents © 3QD Developments Ltd 2018 version no. 1.07