AWRender on BeagleBoard, with timings
It's a long story, but it looks like the problem wasn't with unaligned accesses after all (the newest module version doesn't do any), as I'd thought.
The symptoms were twofold: Viewer crashed as soon as it tried to open an ArtWorks image with a problem in the dynamic linker, and the !AWRender BASIC program displayed just a small part of the image (and showed unaligned accesses occuring).
It wasn't until I built from svn sources on the x86 platform again that I noticed that the BASIC program generated exactly the same (wrong) output. The implication was that the problem was (a) independent of the emulator and (b) previously fixed, but lost (the program had previously be working, as can be seen from screenshots on this blog). This started me looking at the Viewer problem, and I eventually noticed that ARMLinux locates executables at 0x8000 (same as RISC OS), rather than up above the 128MB boundary. A build explicitly locating the executable in the same area resulted in properly displayed images (although, strangely, the celtic knot 3 image appears lighter on the BB than on the x86 PC, when both viewed via tightvnc on the same monitor).
This is what Linux's 'uname -a' and /proc/cpuinfo tells me about both systems:
Linux (none) 18.104.22.168 #10 SMP Wed Jun 13 21:00:36 CEST 2012 armv7l GNU/Linux Processor : ARMv7 Processor rev 3 (v7l) processor : 0 BogoMIPS : 490.52 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x1 CPU part : 0xc08 CPU revision : 3 Hardware : OMAP3 Beagle Board Revision : 0020 Serial : 0000000000000000
Linux Microknoppix 22.214.171.124 #8 SMP PREEMPT Thu Jan 28 10:51:16 CET 2010 i686 GNU/Linux processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 107 model name : AMD Athlon(tm) Dual Core Processor 5050e stepping : 2 cpu MHz : 2593.613 cache size : 512 KB bogomips : 5189.36
The same for core 1 (the emulator is single threaded, so that the second core will make minimal difference to rendering speed).
The AMD processor appears to be over ten times faster (BogoMIPS) than the BB's ARM.
The test I'm using is to display celtic_knot3, a file of 355812 bytes. The rendering time is in the tens of seconds, displayed in the titlebar of the Viewer window, so the file access time (in the millseconds) is of no consequence.
The initial times I'm getting are:
BeagleBoard 85s, PC 15s (to the nearest second).
This is disappointing; the (200MHz) RISC PC manages it in 55s (see here).