Guru Meditation

I spent several hours today in silent meditation, although I haven’t been able to clear my mind for even the span of a single breath. On the plus side, I discovered that I’m able to sit cross-legged with a straight posture for extended periods of time.

The original Amiga OS had a unique crash screen for fatal errors. Instead of filling the entire screen with crash info, like the infamous Windows “Blue Screen of Death”, the Amiga showed a message in red text on a black background with a flashing red border, with the second line saying “Guru Meditation” followed by the crash type and memory address. This was originally an in-joke of the Amiga engineers who had previously sold a joystick operated with the feet, which they would sit on cross-legged and see who could last the longest without tilting the board.

I’m old enough that when I was a little kid, the teachers would tell us to sit “Indian style” when they wanted us to sit cross-legged on the floor, and for some reason I always assumed that they meant American Indians, and not gurus from India. At some point, around 10 or 15 years ago, all the American elementary school teachers switched to telling kids to sit “criss-cross applesauce” (why “applesauce”? Just to make it rhyme?) rather than “Indian style”, due to political correctness. I wonder if there was ever an era where American kids were culturally aware enough of the concept of meditating Indian gurus to get the original reference.

For some reason I thought that AmigaOS 2.x or 3.x had removed the “Guru Meditation” text string to make the OS look more professional, but apparently I’m misremembering. The developers of the PowerPC fork, AmigaOS 4.x, changed the message to “Grim Reaper”, which sounds worse to me. Amusingly, several later software projects have copied the “Guru Meditation” string for their fatal errors (see the Wikipedia entry I linked to).

When I was in junior high, for the hated P.E. (physical education) class, I remember we’d have to sit in columns for a few minutes (the boys and girls had separate P.E. classes) before going to play whatever sport we had to play for that week, and I used to like to sit cross-legged and quiet, leading the other boys to call me “Meditating Hamby”. I can think of worse nicknames.

This year has been a real challenge for me, career-wise and personally. I kicked my Twitter addiction, but I need to find a new job to replace the contract I had with Meta that I completely bailed on when I realized that not only do I not like VR but I think it’s potentially quite sinister in terms of enslaving rather than freeing people. Hence my desire to practice meditation to pump myself up and stop beating myself up and calling myself a failure. At least this blog is a good way to clear my head.

I had one thought to share about the Acorn Archimedes and its place in British computing history. In retrospect, it seems like the Archimedes and RISC OS were a much more professional and powerful system than the Amiga, especially with the powerful BASIC that was backwards compatible to the BBC Micro, which had a more powerful BASIC than any of the other 8-bits, most of which came with Microsoft BASIC or something even worse. So why did people buy Amigas and Atari STs?

I think the explanation was the lower cost of the base systems, and the bundles that Commodore and Atari sold in the U.K. (and elsewhere) that came with as many as a dozen games, and maybe a few productivity apps, which I’m sure were very popular as Christmas gifts for computer-wanting kids. If you’d bought an Amiga with only 512K RAM, you’d probably end up upgrading to 1MB very quickly, as I did, and had to, because otherwise you’d run out of RAM trying to multitask apps of any size, and many games also started to require 1MB RAM.

With the Archimedes, you’d have had to pay twice as much for the A3000 (not to be confused with the Amiga 3000), but you got 1MB RAM. There were a number of ports of games to the Archimedes, but it never really stood out as a games machine, unlike the Amiga, which got pigeonholed as “just” a games machine. I know there was also a lot of brand loyalty from Commodore 64 owners upgrading to the Amiga, which was the path I took as well.

I think I’ll have to meditate some more on the strangeness that both RISC OS and several flavors of AmigaOS, including the open-source clone, AROS, are still alive and kicking, despite Acorn and Commodore no longer existing. I’m really surprised that AROS was ported to little-endian x86 as well as running on big-endian systems. RISC OS has so much ARM assembly code that it’s unlikely we’ll see it running even on 64-bit ARM, much less other CPUs, any time soon. One puzzle for me to ponder with the type-in programs from Acorn User is that some ARM assembly code is no longer legal, especially with the transition from 26-bit to 32-bit addressing.

The linked Wikipedia article goes into detail on why ARM had a 26-bit address space, but basically they wanted to combine the status register and program counter into a single 32-bit value, for more efficient interrupt handling, and to save a little bit of RAM. The 68000 systems, particularly the Mac, ran into similar problems because the first models had a 24-bit address space, and, while the 68000 was designed to be extended to a full 32-bit address space, unlike ARM, many developers, particularly in the Mac OS itself, used the upper 8 bits of memory pointers for flags and other purposes, assuming they wouldn’t be needed for the actual address. That’s how Apple ended up having to explain the need for “32-bit clean” Mac ROMs vs. the older ones that weren’t, and apps that didn’t run with the newer ROMs.

RISC OS followed a similar path, moving from 26-bit to 32-bit programs, along with the OS ROMs, with similar software incompatibilities. Thankfully, there’s a hybrid memory model you can compile to that runs on both 26-bit and 32-bit RISC OS. This appears to be the main cause of breakage in the ARM assembly embedded in the BASIC type-in programs I’ve tried that don’t run properly on my Raspberry Pi 3.

One selling point for the Archimedes, circa 1990, was that it always had a 32-bit wide data bus, unlike the 68000, which had a 16-bit data bus and handled data internally 16 bits at a time (in typical CISC fashion, the 68000 was microcoded with instructions that operated on 32-bit data in 32-bit registers, across multiple clock cycles). It’s hard to do a head-to-head comparison with so many differences between all of these systems, but it’s definitely the case that an 8 MHz ARM2 would’ve been several times as fast as a 7 MHz 68000 (Wikipedia claims it was 7x the speed, apparently based on this talk about the Archimedes, which I’ll have to watch now).

The Amiga, Atari, and Mac didn’t become true 32-bit systems until the 68020 and above, which also extended the address space from 24 to 32 bits, as mentioned. If I’d been a British teenager trying to decide which system to buy in 1990, I think it would’ve been tough for me to decide between the Amiga 500 and Acorn A3000, given my interest in programming as well as games, the “true 32-bit” and “RISC” selling points of the ARM CPU, and the powerful BASIC. I think I’d have tried to save up my money for the Archimedes, but I could’ve gone either way.



, , ,




Leave a Reply

Your email address will not be published. Required fields are marked *