liam_on_linux: (Default)
I have just recently discovered that my previous post about Commodore BASIC went modestly viral, not only featuring on Hacknernews but getting its own story on Hackaday.

Gosh.

This in itself has provoked some discussion. It's also resulted in a lot of people telling me that NO COMMODORE WAS TEH AWESOME DONT YOU EVEN and so on, as one might expect. Some hold that the C64's lousy PET BASIC was a good thing because it forced them to learn machine code.

People on every 8-bit home micro who wanted to do games and things learned machine code, and arguably, there is good utility in that. 8-bitters just didn't have the grunt to execute any interpreter that fast, and most of the cut-price home machines didn't have the storage to do justice to compilers.

But for those of us who never aspired to do games, who were just interested in playing around with algorithms, graphics, graphs and fractals and primitive 3D and so on, then there was an ocean of difference between a good-enough BASIC, like Sinclair BASIC, and the stone-age 1970s ones that Commodore shipped, designed for machines that didn't have graphics and sound. I learned BASIC on a PET 4032, but I never wanted a PET of my own -- too big, too expensive, and kinda boring. Well what use is an all-singing all-dancing colour computer with the best music chip on the market if it has PET BASIC with all the sound and pictures and motion of which a PET was capable? (I.e. none.)

I used my Spectrum, got a better Spectrum with more RAM, then got a PCW and learned a bit of CP/M, and then I got an Archimedes and a superb BASIC that was as quick as Z80 assembly on a Spectrum.

But what occurred to me recently was that, as I discovered from ClassicCmp, a lot of Americans barely know that there were other computer markets than the American one. They don't know that there were cheaper machines with comparable capabilities to the C64, but better BASICs (or much better, world-class BASICs.) They don't know that other countries' early-1980s 8-bit BASICs were capable of being rich, powerful tools, for learning advanced stuff like recursion and drawing full-colour high-res fractals using said recursion, entirely in BASIC.

For many people, Atari and Apple were mid-price-range and Commodore were cheap, and MS BASIC was basically all there was.

In the last 30 years, America has largely guided the world of software development. The world runs 2 software ecosystems: the DOS/Windows line (both American, derived from DEC OSes which were also American), and various forms of UNIX (also American).

All the other OSes and languages are mostly dead.

• Ada, the *fast* type-safe compiled language (French)? Largely dead in the market.

• The Pascal/Modula-2/Oberon family, a fast garbage-collected compiled family suitable for OS kernels (Swiss), or the pioneering family of TUI/GUI OSes that inspired Plan 9, Acme, & Go? Largely dead.

• Psion/EPOC/Symbian (British), long-battery-life elegant multitasking keyboard-driven PDAs, & later their the super-fast realtime-capable C++ smartphone OS that could run the GSM comms stack on the same CPU as the user OS? Totally dead.

• Nokia's elegant, long-life, feature-rich devices, the company who popularised first the cellphowe and then the smartphone? Now rebadges Chinese/American kit.

• Acorn RISC OS (British), the original ARM OS, limited but tiny and blindingly fast and elegant? Largely dead.

• DR-DOS, GEM, X/GEM, FlexOS -- mostly the work of DR's UK R&D office? Dead & the American company that inherited the remains didn't properly open-source them.

• possibly the best, richest ever 8-bit word processor LocoScript, pioneering GUI language BASIC+ , first integrated internet suite for Windows Turnpike, all from British Locomotive Software? Dead.

In my early years in this business, in the 1980s and 1990s, there were as many important European hardware and software products as there were American, including European CPUs and European computer makers, and European software on American hardware.

Often, the most elegant products -- the ones that were the most powerful (e.g. the Archimedes), or the most efficient (e.g. Psion), or had the longest battery life (e.g. Nokia) -- all dead and gone, and their products nearly forgotten.

30y ago I had a personal RISC workstation for under $1000 that effortlessly outperformed IBM's fastest desktop computers costing 10x more. British.

25y ago I had excellent multiband mobile phones with predictive text and an IRDA link to my PDA. The phone lasted a week on a charge, and the PDA a month or 2 on 2 AA batteries. British and Finnish.
15y ago I had a smartphone that lasted a few days on a charge, made by the company who made the phone above running software from the PDA company. Finnish.

Now, I have sluggish desktops and sluggish laptops, coupled with phones that barely last a day...

And I think a big reason is that Europe was poorer, so product development was all about efficiency, cost-reduction, high performance and sparing use of resources. The result was very fast, efficient products.

But that's not the American way, which is to generalise. Use the most minimal, close-to-the-metal language that will work. Use the same OS in desktop and mobile. Don't build new OSes -- reuse old ones and old, tried-and-tested tools and methods. Use the same OS on desktop and laptop and server and phone. Moore's Law will catch up and fix the performance.

Its resulted in amazing products of power and bling... but they need teams of tens of thousands to fix the bugs caused by poor languages and 1970s designs, and a gigabyte of updates a month to keep them functional. It's also caused an industry worth hundreds of millions exploiting security holes, both by criminals and by developing-world callcentre businesses prodiving the first-line support these overcomplex products need.

And no, I am not blaming all that on Commdore or the C64! 😃 But I think some of the blame can be pointedf that way. Millions of easily-led kids being shown proof that BASIC is crap and you've got to get close to the metal to make it work well -- all because one dumb company cut a $20 corner too much.
liam_on_linux: (Default)
So in a thread on CIX, someone was saying that the Sinclair computers were irritating and annoying, cut down too far, cheap and slow and unreliable.

That sort of comment still kinda burns after all these decades.

I was a Sinclair owner. I loved my Spectrums, spent a lot of time and money on them, and still have 2 working ones today.

Yes, they had their faults, but for all those who sneered and snarked at their cheapness and perceived nastiness, *that was their selling point*.

They were working, usable, useful home computers that were affordable.

They were transformative machines, transforming people, lives, economies.

I had a Spectrum not because I massively wanted a Spectrum -- I would have rather had a BBC Micro, for instance -- but because I could afford a Spectrum. Well, my parents could, just barely. A used one.

My 2nd, 3rd and 4th ones were used, as well, because I could just about afford them.

If all that had been available were proper, serious, real computers -- Apples, Acorns, even early Commodores -- I might never have got one. My entire career would never have happened.

A BBC Micro was pushing £350. My used 48K Spectrum was £80.

One of those is doable for what parents probably worried was a kid's toy that might never be used for anything productive. The other was the cost of a car.
Read more... )
liam_on_linux: (Default)
More retrocomputing meanderings -- whatever became of the ST, Amiga and Acorn operating systems?

The Atari ST's GEM desktop also ran on MS-DOS, DR's own DOS+ (a forerunner of the later DR-DOS) and today is included with FreeDOS. In fact the first time I installed FreeDOS I was *very* surprised to find my name in the credits. I debugged some batch files used in installing the GEM component.

The ST's GEM was the same environment. ST GEM was derived from GEM 1; PC GEM from GEM 2, crippled after an Apple lawsuit. Then they diverged. FreeGEM attempted to merge them again.

But the ST's branch prospered, before the rise of the PC killed off all the alternative platforms. Actual STs can be quite cheap now, or you can even buy a modern clone:

http://harbaum.org/till/mist/index.shtml

If you don't want to lash out but have a PC, the Aranym environment gives you something of the feel of the later versions. It's not exactly an emulator, more a sort of compatibility environment that enhances the "emulated" machine as much as it can using modern PC hardware.

http://aranym.org/

And the ST GEM OS was so modular, different 3rd parties cloned every components, separately. Some commercially, some as FOSS. The Aranym team basically put together a sort of "distribution" of as many FOSS components as they could, to assemble a nearly-complete OS, then wrote the few remaining bits to glue it together into a functional whole.

So, finally, after the death of the ST and its clones, there was an all-FOSS OS for it. It's pretty good, too. It's called AFROS, Atari Free OS, and it's included as part of Aranym.

I longed to see a merger of FreeGEM and Aranym, but it was never to be.

The history of GEM and TOS is complex.

Official Atari TOS+GEM evolved into TOS 4, which included the FOSS Mint multitasking later, which isn't much like the original ROM version of the first STs.

The underlying TOS OS is not quite like anything else.

AIUI, CP/M-68K was a real, if rarely-seen, OS.

However, it proved inadequate to support GEM, so it was discarded. A new kernel was written using some of the tech from what was later to become DR-DOS on the PC -- something less like CP/M and more like MS-DOS: directories, separated with backslashes; FAT format disks; multiple executable types, 8.3 filenames, all that stuff.

None of the command-line elements of CP/M or any DR DOS-like OS were retained -- the kernel booted the GUI directly and there was no command line, like on the Mac.

This is called GEMDOS and AIUI it inherits from both the CP/M-68K heritage and from DR's x86 DOS-compatible OSes.

The PC version of GEM also ran on Acorn's BBC Master 512 which had an Intel 80186 coprocessor. It was a very clever machine, in a limited way.

Acorn's series of machines are not well-known in the US, AFAICT, and that's a shame. They were technically interesting, more so IMHO than the Apple II and III, TRS-80 series etc.

The original Acorns were 6502-based, but with good graphics and sound, a plethora of ports, a clear separation between OS, BASIC and add-on ROMs such as the various DOSes, etc. The BASIC was, I'd argue strongly, *the* best 8-bit BASIC ever: named procedures, local variables, recursion, inline assembler, etc. Also the fastest BASIC interpreter ever, and quicker than some compiled BASICs.

Acorn built for quality, not price; the machines were aimed at the educational market, which wasn't so price-sensitive, a model that NeXT emulated. Home users were welcome to buy them & there was one (unsuccessful) home model, but they were unashamedly expensive and thus uncompromised.

The only conceptual compromise in the original BBC Micro was that there was provision for ROM bank switching, but not RAM. The 64kB memory map was 50:50 split ROM and RAM. You could switch ROMs, or put RAM in their place, but not have more than 64kB. This meant that the high-end machine had only 32kB RAM, and high-res graphics modes could take 21kB or so, leaving little space for code -- unless it was in ROM, of course.

The later BBC+ and BBC Master series fixed that. They also allowed ROM cartridges, rather than bare chips inserted in sockets on the main board, and a numeric keypad.

Acorn looked at the 16-bit machines in the mid-80s, mostly powered by Motorola 68000s of course, and decided they weren't good enough and that the tiny UK company could do better. So it did.

But in the meantime, it kept the 6502-based, resolutely-8-bit BBC Micro line alive with updates and new models, including ROM-based terminals and machines with a range of built-in coprocessors: faster 6502-family chips for power users, Z80s for CP/M, Intel's 80186 for kinda-sorta PC compatibility, the NatSemi 32016 with PANOS for ill-defined scientific computing, and finally, an ARM copro before the new ARM-based machines were ready.

Acorn designed the ARM RISC chip in-house, then launched its own range of ARM-powered machines, with an OS based on the 6502 range's. Although limited, this OS is still around today and can be run natively on a Raspberry Pi:

https://www.riscosopen.org/content/

It's very idiosyncratic -- both the filesystem, the command line and the default editor are totally unlike anything else. The file-listing command is CAT, the directory separator is a full stop (i.e. a period), while the root directory is called $. The editor is a very odd dual-cursor thing. It's fascinating, totally unrelated to the entire DEC/MS-DOS family and to the entire Unix family. There is literally and exactly nothing else even slightly like it.

It was the first GUI OS to implement features that are now universal across GUIs: anti-aliased font rendering, full-window dragging and resizing (as opposed to an outline), and significantly, the first graphical desktop to implement a taskbar, before NeXTstep and long before Windows 95.

It supports USB, can access the Internet and WWW. There are free clients for chat, email, FTP, the WWW etc. and a modest range of free productivity tools, although most things are commercial.

But there's no proper inter-process memory protection, GUI multitasking is cooperative, and consequently it's not amazingly stable in use. It does support pre-emptive multitasking, but via the text editor, bizarrely enough, and only of text-mode apps. There was also a pre-emptive multitasking version of the desktop, but it wasn't very compatible, didn't catch on and is not included in current versions.

But saying all that, it's very interesting, influential, shared-source, entirely usable today, and it runs superbly on the £25 Raspberry Pi, so there is little excuse not to try it. There's also a FOSS emulator which can run the modern freeware version:

http://www.marutan.net/rpcemu/

For users of the old hardware, there's a much more polished commercial emulator for Windows and Mac which has its own, proprietary fork of the OS:

http://www.virtualacorn.co.uk/index2.htm

There's an interesting parallel with the Amiga. Both Acorn and Commodore had ambitious plans for a modern multitasking OS which they both referred to as Unix-like. In both cases, the project didn't deliver and the ground-breaking, industry-redefiningly capable hardware was instead shipped with much less ambitious OSes, both of which nonetheless were widely-loved and both of which still survive in the form of multiple, actively-maintained forks, today, 30 years later -- even though Unix in fact caught up and long surpassed these 1980s oddballs.

AmigaOS, based in part on the academic research OS Tripos, has 3 modern forks: the FOSS AROS, on x86, and the proprietary MorphOS and AmigaOS 4 on PowerPC.

Acorn RISC OS, based in part on Acorn MOS for the 8-bit BBC Micro, has 2 contemporary forks: RISC OS 5, owned by Castle Technology but developed by RISC OS Open, shared source rather than FOSS, running on Raspberry Pi, BeagleBoard and some other ARM boards, plus some old hardware and RPC Emu; and RISC OS 4, now owned by the company behind VirtualAcorn, run by an ARM engineer who apparently made good money selling software ARM emulators for x86 to ARM holdings.

Commodore and the Amiga are both long dead and gone, but the name periodically changes hands and reappears on various bits of modern hardware.

Acorn is also long dead, but its scion ARM Holdings designs the world's most popular series of CPUs, totally dominates the handheld sector, and outsells Intel, AMD & all other x86 vendors put together something like tenfold.

Funny how things turn out.
liam_on_linux: (Default)
(The title is a parody of http://www.dreamsongs.com/WIB.html )

Even today, people still rail against the horrors of BASIC, as per Edsger Dijkstra's famous comment about it brain-damaging beginner programmers beyond any hope of redemption:

https://reprog.wordpress.com/2010/03/09/where-dijkstra-went-wrong-the-value-of-basic-as-a-first-programming-language/

I rather feel that this is due to perceptions of some of the really crap early 8-bit BASICs, and wouldn't have applied if students learned, say, BBC BASIC or one of the other better dialects.

For example, Commodore's pathetically-limited BASIC as supplied on the most successful home computer ever, the Commodore 64, in 1982. Despite its horrors, it's remembered fondly by many. There's even a modern FOSS re-implementation of it!

https://github.com/mist64/cbmbasic

I've long been puzzled as to exactly why the Commodore 64 shipped with such a terrible, limited, primitive BASIC in its ROM: CBM BASIC 2.0, essentially the 6502 version of Microsoft's MS-BASIC. It wasn't done for space reasons -- the original Microsoft BASIC fitted into 4kB of ROM and a later version into 8kB:

http://www.emsps.com/oldtools/msbasv.htm

Acorn's BBC BASIC (first released a year earlier, in 1981) was a vastly better dialect.

AFAIK all the ROMable versions of BBC BASIC (BASIC I to BASIC 4.62) fitted into a 16kB ROM, so in terms of space, it was doable.

http://mdfs.net/Software/BBCBasic/Versions

IOW, CBM had enough room; the C64 kernal+BASIC were essentially those of the original PET, and fitted into an 8kB ROM, I think. And the C64 shipped after the B and P series machines, the CBM-II. OK, CBM BASIC 4 wasn’t much of an improvement, but it was better.

Looking back years later, and reading stuff like Cameron Kaiser’s “Secret Weapons of Commodore” site:

http://www.floodgap.com/retrobits/ckb/secret/

… it seems to me that Commodore management never really had much of an idea of what they were doing. Unlike companies such as Sinclair or Acorn, labouring for years over tiny numbers of finely-honed models, in the 8-bit era, Commodore had multiple teams designing dozens of models of all sorts of kit, often conflicting with one another, and just occasionally chose to ship certain products and kill others — sometimes early, sometimes when it was nearly ready and the packaging was being designed.

(Apple was similar, but at a smaller scale — e.g. the Apple /// competing with the later Apple ][ machines, and the Mac competing with the Lisa, and then the Apple ][GS competing with the Mac.)

There were lovely devices that might have thrived, such as the C65, which were killed.

There were weird, mostly inexplicable hacked-together things, such as the C128, a bastard of a C64, plus a slightly-upgraded C64, plus, of all things, a CP/M micro based around an entirely different an totally incompatible processor, so the C128 had two: a 6502 derivative and a Z80. Bizarre.

There were determined efforts to enhance product lines whose times were past, such as the CBM-II machines, an enhanced PET when the IBM PC was already taking over.

There were odd half-assed efforts to fix problems with released products, such as the C16 and Plus-4, which clearly showed that management didn’t understand their own successes: the C64 was an wildly-successful upgrade of the popular VIC-20, but rather than learn from that and do it again, Commodore did something totally different and incompatible, launched with some fanfare, and appeared mystified that it bombed.

It’s a very strange story of a very schizophrenic company.

And of course, rather than develop their own successor for the 16-bit era, they bought it in — the Lorraine, later the Amiga, a spiritual successor to the Atari 8-bit machines, which themselves were inspired kit for their time.

This leaving Atari in the lurch, but to which the company responded in an inspired way with the ST: an clever mixture of off-the-shelf parts -- PC-type where that was good enough (e.g. graphics controller), or from the previous generation of 8-bits (e.g. sound chip), plus a bought-in adapted OS (Digital Research's GEMDOS plus GEM, never crippled like the PC version was due to Apple's lawsuit, meaning PC disk formats and file compatibility. And of course the brilliant inclusion of MIDI ports, foreseeing an entire industry that was around the corner.

The ST is what the Sinclair QL should have been: a cheap, affordable, usable 16-bit computer. Whereas the poor doomed QL was Sinclair doing its trademark thing too far: a 16-bit machine cut down to the point that it was no better than a decent 8-bit machine.

Interesting times.

Whereas now, almost all the diversity is gone. Today, we just have generic x86 boxes and occasional weird little ARM things, and apart from some research or hobbyist toys, just 2 OS families -- Windows NT or some flavour of Unix.

July 2025

S M T W T F S
  1234 5
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 11th, 2025 12:12 am
Powered by Dreamwidth Studios