Not trying to be funny, I used the assembler a lot, but I really can't remember who supplied it.
Oh, just had a thought - this was on Research Machines 380Zs, so perhaps it was Research Machines home-grown one?
You've reminded me that I have a 380Z or 480Z in the loft - I must get it going again.
I'm sure this is a mostly forgotten part of computing lore; apologies for the Gemini's Overview:
“Microsoft actively stifled DR-DOS in the early 1990s through anti-competitive tactics, primarily using the "AARD code" in Windows 3.1, which deliberately created compatibility errors to scare users away from the competing operating system. Microsoft also used FUD (fear, uncertainty, and doubt) tactics, such as hinting at future incompatibilities.
Key Tactics Used by Microsoft:
The AARD Code: Windows 3.1 installer contained heavily obfuscated code, discovered in 1992, that specifically checked if the system was running DR-DOS. If detected, it displayed a fake "Non-Fatal Error" message to induce panic.
Vaporware Announcements: Microsoft announced upcoming versions of MS-DOS to dampen demand for current versions of DR-DOS.
OEM Pressure: Microsoft leveraged its monopoly to ensure pre-installed Windows came with MS-DOS, hindering DR-DOS's retail market success.
While Digital Research released a patch (the "business update") to bypass the AARD code, the damage to market perception and OEM deals was significant. The case was later part of legal battles between Caldera (which acquired DR-DOS) and Microsoft.”https://share.google/aimode/JJs7wliOGtvnme6LY” [Tech Monitor/Wikipedia]
But the problem with GEM on the Atari ST is that in order to cram it into the 192KB ROM they ripped out some goodies like proportional font support which ended up being in an add-on called "GDOS" which was buggy, used up RAM, and most people didn't have it (it came with things like DTP software etc).
In general this was always the problem with the ST. The Tramiels shipped it early and cheap and awesome and I loved mine ... but then didn't pay enough attention to software updates until it was too late and the world had moved on. Jack Tramiel never really understood the value of a good software platform IMHO.
In the early 90s they seemed to learn the error of their ways, hired some talent, and released full multitasking re-entrant versions of TOS/GEM ... but too late.
GEM's architecture itself underneath actually was clearly built for a mulitasking architecture complete with message passing between applications (via AES application msg send / mailboxes) etc. It just came down to failure to iterate.
Also the article mentions DR "hiring some people from Xerox" but in fact fails to note that the actual original architect and author of GEM itself was hired from Xerox (Lee Lorenzen). He joined up with DR because he tried to pitch Xerox on porting their Star office concepts down to PC-class hardware and they didn't go for it. His pitch video can actually be seen here:
https://www.youtube.com/watch?v=EMBGRZftS30
Lorzenen later left DR and created Ventura Publisher.
It was fine on an Olivetti M24. Same screen resolution and colour as the ST, Logitech mouse plugged into the back of the keyboard.
https://nemanjatrifunovic.substack.com/p/history-of-the-gem-...
There was a lot more going on in the 68k / Atari ST line than on PC, in the end.
In the 90s most of that was in Germany though. Read up on "Magic" OS sometime.
And these days, the modern variant of GEM is really EmuTOS and also Xaaes on the ST line.
Not so sure about this. The Atari/GEM combination was very popular with musicians for MIDI, and I don't think there was so much piracy, or at least not compared with other platforms of the time.
The reasons I didn't develop anything much for Gem - a) It was quite difficult b) Not well documented c) I was too busy playing Dungeon Master.
I think many others may have similar thoughts.
WordPerfect and Spectrum Holobyte explicitly cited software piracy as being worse on ST than on other platforms.
WP did eventually come to the ST and if I recall it was panned as a horrible port. I think there was talk of MS Word, too, and also a flop?
Mine came with 1st Word Plus, and it was excellent for the time.
As I recall, there were tons of books about GEM for the Atari ST, at least in Europe.
Yes, there were, but compared with the Windows textbooks and Microsoft-supplied documentation for Windows, they were really not good. In the UK, they were translated (not well) from German. At least all the ones I owned were almost completely lacking in examples, and examples are really what you want when learning to use something.
Codex & Gemini & I had something almost working. That dongle was evil and crazy complex. Fairly complex CPLD that depended on system timing and in the end the emulator just can't fulfill whatever contract the software expects from the bus + the emulated dongle.
Even though dongles were a popular copy protection.
Then again, software like Cubase didn't use much of GEM IIRC and did their own graphics.
Hence why Gerhard Lengeling put at least as much time into the design of the dongle as he did Creator/Notator itself.
Between DM sessions, of course. Or Time Bandits.
It ran quite well on my 286.
Thankfully Atari licensed GEM for their 68000 machines before the lawsuit, and wasn't affected by these changes. The Atari ST (Sixteen/Thirtytwo) was very Mac like at the time. It even ran the Mac OS from Apple ROMs (Spectre 128 and Aladin) on its much cheaper hardware.
https://nemanjatrifunovic.substack.com/p/history-of-the-gem-...
He missed out on the recent history of the environment, and at the time, I wrote a blog post adding more info on what happened next:
https://liam-on-linux.dreamwidth.org/96552.html
You do mention OpenGEM and FreeGEM, but not what's in them. They re-added all the features DR removed after the Apple lawsuit. They also added the features from GEM/4 and GEM/5 which John Elliot documented:
There were also other branches of GEM. DR did several...
• ViewMax, which was bundled with DR-DOS 5 and 6. This had Windows-style keyboard controls and could operate and manage DR-DOS's built-in multitasker, TaskMax.
• It also was working on GEM/XM which offered multitasking on plain old DOS.
• X/GEM ran on DR's RTOS, FlexOS. This was the realtime offshoot of DR Concurrent CP/M and Concurrent DOS: a family of full, native, protect-mode, multitasking DOS-compatible OSes for the PC, and 286s, and 386s. FlexOS is multitasking and so is X/GEM.
Some of the code from FreeGEM made its way back into ST GEM. There is a complete multitasking FOSS OS for the Atari ST and compatibles, called AFROS. It targets its own emulator, Aranym.
It originally had a minimal stub ROM replacement to boot the emulator: the OS is a native multitasking one so does not need much from Atari's ROM, which is not FOSS anyway. Atari's ROM is not just a BIOS: it contains the whole OS – the BIOS, and GEMDOS on top, and GEM on top of that.
But the community took that stub ROM and upgraded it to a fullly FOSS replacement for Atari TOS. In other words, with a replacement for GEMDOS and a replacement for GEM. That GEM replacement is partly built from FreeGEM code.
It's a lot of life for a long-dead desktop. I think some of this deserved a mention bigger than a single sentence.
I was really interested in how they would respond to the challenge. IBM was working publicly with Microsoft on OS/2 so they had to know the market was going to change. The only real surprise was when Microsoft went all in on marketing Windows 3 and the rise of Office.
Borland tried to compete against Office and got killed. Perhaps with a competent GUI operating system it might have been different.
Amstrad GEM came with a couple of apps thrown in!
LocoScript BASIC 2, a full GUI BASIC language, and GEM Paint.
Pics of the media here:
https://www.dosdays.co.uk/computers/Amstrad%20PC1000/softwar...
The famous demo Tiger image on an original 'Strad:
https://www.reddit.com/r/dosgaming/comments/12gmqrm/the_famo...
I played with Concurrent DOS (and later MultiUser DOS) in PCem and I was utterly amazed. I hadn't realized that there was a preemptive multitasking operating system available to consumers as early as the mid 80's outside of AmigaOS.
I read the Wikipedia and I kind of understand why it didn't catch on, but man I kind of wish DRI (and Gary Kildall) was still around. I suspect if they were, they would have continued to make stuff that was at least interesting.
From what I've learned since, when you switched away from a program using Ctrl + Esc, DOSSHELL suspended it and dumped its conventional memory to a swap file on disk.
Used this to great effect so I could swap back and forth between QBASIC and other utilities.
I just think that Concurrent DOS is cool because it is proper multitasking; proper time slicing and everything! And you could have multiple users logging into the same computer with terminals, à la Unix, all in the mid 80s!
I have been trying to track down whoever the hell owns the license to Concurrent/Multiuser DOS to try and make a case for them to release the source code, but I have had a heck of a time getting ahold of anyone that might be able to point me in the right direction. I suspect the rights for it now reside with OpenText or something and they don’t even realize it.
Sure would've been nice if the Desqview engineers and the GEM guys could've merged their efforts...
Well, it is also that Windows even at version 1.0 was much more capable than GEM. Better documentation, better tools, better API and better functionality.
GEM was really just a shell over DOS and applications were actually DOS programs that called a special interrupt handler to make API calls. While this allowed any language that could make EXE files and call interrupts to be used to make GEM apps, it also meant that GEM inherited all the limitations from DOS, like the inability to run multiple applications at the same time (DR did eventually make GEM/XM that allowed switching between applications but it was still only one application active at any given time). Windows meanwhile not only could run multiple applications, but it also had a software-based virtual memory system that allowed applications to swap in/out both data and code to fit in the available memory (this required custom compiler support so, unlike GEM, you couldn't use any old compiler but on the other hand it you could make more complex applications).
The GEM API was also very barebones, you could create windows but all you could do with them was to draw inside. Dialog boxes were a completely separate thing that could take a tree of "objects" to draw inside them but even then the functionality was limited (the object types are hardcoded and while there is a "custom" type, all it does is provide a callback for drawing). You could work around some of the functionality by implementing some of it yourself - for example there is a call to draw an object tree (object trees are actually a flat array of fixed size structures where the first three fields define 16bit indices inside the tree for each object - this probably saved some bytes of memory at the cost of flexibility loss and TBH the extra bytes added for the code to work with the tree probably ate back those saved bytes, if not made things worse) so i think (never tried it) you could draw buttons, etc in a window when you receive the WM_REDRAW message but there is no event message propagation.
Meanwhile on Windows everything is a "window" in a window tree with a consistent approach to how things are handled. On GEM everything is a special case.
I get the impression that the GEM developers basically had some idea of what their desktop would look like and implement the functionality to do just that and nothing else with little room for flexibility or later expandability.
EDIT: also the graphics functionality was very limited, e.g. with hardcoded colors. Here are some GEM API docs in case anyone is interested:
https://www.seasip.info/Gem/vdi.html (low level API, draw graphics, input devices, etc)
https://www.seasip.info/Gem/aes.html (relatively high level API, make windows, define dialogs, messages, etc)
https://www.seasip.info/Gem/aestruct.html (some structures)
https://www.seasip.info/Gem/aesmsg.html (event message types)
I suspect there was maybe an intent to eventually build something higher level above it, still. Just that never happened, or was never standardized. There are in fact some C-level libraries for the Atari ST that do, but they're more recent inventions.
It's not a bad architecture, just incomplete. It wasn't aiming for -- nor would they have had the budget to make -- the same space as MS Windows in that it wasn't a full and complete environment in that way. Even on the Atari ST where they controlled the whole stack instead of being hoisted over MS-DOS.
It wasn't just Microsoft's marketing skills that made Windows overshadow GEM, it was also that Windows was genuinely a better product - both from a technical and a functional perspective.
The original version of GEMDOS (the replacement for DOS or CP/M when running on 68k) was in fact developed on the Lisa as a 68k dev machine [also some Motorola VME dev boards I think?) before actual Atari HW was available. So it's a full circle thing.