Post 973756 by bhtooefr@cathoderay.tube
 (DIR) More posts by bhtooefr@cathoderay.tube
 (DIR) Post #973529 by ajroach42@retro.social
       2018-11-04T20:58:46Z
       
       1 likes, 0 repeats
       
       Alright, so far my biggest complaint about RISC os is that the majority of the applications I’m finding (through the package managers) don’t come close to working. Of the broken packages, half do nothing, a quarter return an error, and the remaining quarter lock up the machine. This includes packages listed as working!I dunno if I have a somehow bad/corrupted install, but I am seeing similar reports online.
       
 (DIR) Post #973530 by ajroach42@retro.social
       2018-11-04T21:02:22Z
       
       0 likes, 0 repeats
       
       Bash, for example, is listed in several locations as working on the pi. It locks the machine instantly. Mplayer similarly locks the machine, as does Dosbox. I would love to know why, but I don’t.3 packages in 4 from packman aren’t working, and *every* application I’ve attempted to run from the other package manager has hung.This seems like it is likely a bug (or at least a change) in the current Pi build, rather than a problem that suddenly started affecting previously working packages?
       
 (DIR) Post #973531 by anthk@bsd.network
       2018-11-04T21:08:14Z
       
       1 likes, 0 repeats
       
       @ajroach42 probably it could work better in the rpi1 or b+.
       
 (DIR) Post #973635 by bhtooefr@cathoderay.tube
       2018-11-04T21:25:51.851955Z
       
       0 likes, 0 repeats
       
       @anthk @ajroach42 Correct. ARM likes deprecating things and breaking backwards compatibility, so there's a few points when things were broken.1. RiscPC broke some games due to different hardware.2. StrongARM's split I/D cache broke self-modifying code, which wasn't just found in games.3. The move from 26-bit to 32-bit broke anything that expected processor status in the program counter, breaking almost everything.4. Unaligned load/store behavior was undefined in ARMv1-5, but in practice was a barrel shift. ARMv7 removed it.5. ARMv8 removed the SWP atomic read/modify/write instruction introduced in ARMv3.
       
 (DIR) Post #973717 by bhtooefr@cathoderay.tube
       2018-11-04T21:32:44.562691Z
       
       0 likes, 0 repeats
       
       @anthk @ajroach42 You're using a Pi 3, which is 64-bit, and therefore ARMv8. So, you have all five of these breakages to contend with.Meanwhile, even the open source stuff hasn't always been recompiled to fix the unaligned load/store issues, let alone SWP being deprecated (and note that LDREX/STREX, their replacement, first appeared in ARMv6... but RISC OS didn't even run on ARMv6 platforms until 2012, and software is expected to run on ARMv4, and sometimes even ARMv3).An early Pi 2 (revision 1.0/1.1) is ARMv7, and therefore the SWP deprecation isn't an issue. Later Pi 2s are just underclocked Pi 3s without WiFi, though.A Pi 0/1, however, is ARMv6, and has a backwards compatibility mode for the ARMv5 unaligned load-store behavior.
       
 (DIR) Post #973756 by bhtooefr@cathoderay.tube
       2018-11-04T21:36:30.787247Z
       
       0 likes, 0 repeats
       
       @anthk @ajroach42 Actually, wait, I got mixed up on the instruction sets - SWP was introduced in ARMv2as (ARM3), and some people target ARMv2 (ARM2) machines (which actually means you're targeting stuff before SWP was a thing if you're targeting pre-RiscPC, because nobody targets v2as specifically when targeting v2).But the point still works.The upshot is, if you want to run everything 32-bit RISC OS, a Pi 1 B+ is a much better idea than a Pi 3 - and it's not like you can use the extra cores right now anyway.