On Thu, Mar 01, 2018 at 05:16:16PM +0000, J Percival wrote: > I asked the same thing a while back. I was under the impression that the > hardware was similar. As I understand it, ARM2 code will run fine on a > StrongARM for instance (although needing to turn off the cache if the code > is self-modifying). Back in the day, there was the 'GameOn' utility - apart > from the cache control (and better support for old-style screenmodes > maybe?) I'm not sure what it did to achieve compatibility with many games - > possibly patching them - but I think the differences weren't too > significant - usually in these cases it's software that assumes a very > specific environment that fail. It's possible that Arthur/RO2/RO3 would run > on a Risc PC - don't know if anyone has tried it. It would be nice to have > accurate emulation of older systems though as things like tech-demos are > particularly sensitive to the configuration of the underlying (emulated) > hardware.
There are several thing to de-conflate here: 1. The user-level instruction set. ARMv4 (StrongARM) is largely a superset of ARMv2 (ARM2/3) so minimal changes are required here (see 'StrongARM compatibility' notes of old) 2. The system-level CPU model. Exception modes and the MMU changed quite a lot between ARM3 and ARM6, and the caches changed between ARM3, ARM6/7 and StrongARM. 3. System I/O, for instance video, timers, keyboards, interrupt sources, motherboard chips. Some effort was put into making IOMD and VIDC20 be a superset of IOC and VIDC1, but there are enough changes to make them incompatible. #2 is the big one. Arthur/RO2/RO3.1 would not work on a Risc PC without a lot of code changes - the result of those changes is called RO3.5. So best stick to Arculator if that's what you need. Theo _______________________________________________ Rpcemu mailing list [email protected] http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu
