46 comments

[ 4.0 ms ] story [ 104 ms ] thread
Wow. I will really try this out on my 800xl
Actually, I can't. I see it requires pretty hefty upgrades. Understandable though.
It needs a cartridge with extra RAM, right?
128K RAM and a banked cartridge. So: stock 130XE and an AtariMax 1Mbit cart will do.
Ok I only have an 800XL and no cartridge unfortunately :(
We need to make it be useful with 64K. My XEGS needs this.
Can you please explain how you swap the first two pages?
Impressive. And it looks a lot like Gem on the Motorola 68000-based Atari ST.

I wish I still had my Atari 8-bit box, but something went horribly wrong with the cartridge slot - no more Star Raiders for me. Sniff :-(

is it open source? I like to compile myself
I don't think it is. I'd like to examine it as well. The preemptive multi-tasking scheduler can be very useful for games, and it may be possible to port it to other 8-bit computers.

And, if software could be made portable, it'd be interesting to have GUI software that's cross-platform between Ataris, Apple //s and ///s, and the Commodore and BBC families (a VIC-20 would need a lot of expansion). Sadly, most of the others run their 6502's at half the speed of the Ataris.

The embedded youtube video is from 26 Feb 2018, so I'm guessing this post is from the same year. Any new developments since?
It's crazy how responsive the UI looks in the video (for an 8-bitter):

https://www.youtube.com/watch?v=T14dL9MeMHE

Fire up Windows 2000 in a VM and poke around for a bit. The responsiveness is so good it's actually a little jarring. I have this experience working with the legacy 2003 VMs at work. Shows you how much software developers and designs have squandered resources over the decades.
Finally, a reason to avoid upgrading my 800 to an ST!
The successor of the 800 is the Amiga, not the ST. The architecture between them is very similar as Jay Miner designed both of their chipsets. The ST was designed by the designer of the Commodore 64, Shiraz Shivji , so the ST is its successor.

Source: https://en.wikipedia.org/wiki/Shiraz_Shivji

Since you are technically correct, the best kind of correct, I'll try to one-up you by pointing that the Atari 65XE, which was the actual successor of the 800 and 800XL ;-)
The absolute height of real life irony.
Development of this also appears to still be ongoing [0], though I don't think the code is actually public anywhere.

[0] https://atariage.com/forums/topic/154520-new-gui-for-the-ata...

I find this a real shame. If the code was available, a lot of people could be writing small programs for the GUI, running it on emulators, playing with the GTIA overscan modes (it can do more than 192x320 pixels) and so on.
348x200+ pixels is possible with the 48 byte wide mode.
The thing needs to be finished and documented before anyone can write anything for it; open-sourcing it (as I notice from observing other projects) won't necessarily make great things happen. The GOS can already be run in emulation, althogh I don't know what would be accomplished by using the 48 byte playfield mode if one hopes to run it on a standard monitor. It's a lot of effort for a couple of dozen pixels.
> It's a lot of effort for a couple of dozen pixels.

Sometimes, "because it's possible" is all you need ;-)

But now, more seriously, it'd be fun to try to port it to different 6502-based computers. I've been looking for a good excuse to get myself an Apple III or a BBC Master and this seems like a great one. Not all of them will be able to have preemptive multitasking (interrupts aren't always convenient), but it'd still be fun.

Imagine that - in 2023 we could have software that runs unmodified on more than one 6502-based computer...

cc65 provides a compiler suite and runtimes for many old 6502 machines. It really is a cool project. https://github.com/cc65/cc65

It provides some template configuration files describing different memory layouts. And provides common libraries for input/output.

There's also a LLVM fork for MOS: https://github.com/llvm-mos/llvm-mos

They've got some interesting hacks with ZeroPage memory and register allocation: https://llvm-mos.org/wiki/Code_generation_overview

Interesting if you geek out on that kind of research.

Thanks, I was wondering how page 2 stack could be shared with the limited bank switching available on the 800. Turns-out a special cart is needed that can switch the first two pages (and presumably protect IO somehow).
No special hardware is required at all; just 128K of RAM and a bank-switched cartridge.
Makes me wonder why we had to put up with DOS for so long.
We didn't, Atari ST and Amiga dominated 16 bit home market in Europe until Windows 95 came out.

The few of us using PCs during those early days, were booting straight into Windows 3.x straigt out of AUTOEXEC.BAT.

In my neck of the woods these were very hard to come buy.

During the 80s, people mostly had 8-bit micros at home. And Windows 3.1 only appeared in the 90s.

ATs and even XTs could have handled a GUI well. It wasn't for lack of memory or processing power.

The PC was stuck with a really subpar OS for about a decade.

Apparently there were a lot of options, but the folks building them made the then common mistake of exorbitant pricing. A razor/razorblades model would have been more successful.

See Visi-On, etc: https://news.ycombinator.com/item?id=32092804

There's also the issue that MS would actively sabotage any competitor that gained a toehold.

Is this really true or was this just true in Europe?

I was born in the 90s but even I remember my dad using dos before win 95. It was only later that I learned about amiga and atari st and all the wiki articles and blogs today seem to paint the picture that dos dominated everything from the moment it appeared.

Should specify, I'm American.

Yes, why do you think Demoscene was such a huge phenomenon in Europe?

We needed to have those computers around.

Outside work, the PC only took off at home around Return to Castle Wolfstein / Doom, with AdLib/SoundBlaster and 3Dfx, Matrix, NVidia,... as standard gear.

Is there any particular reason projects like this only exist today, and not when the console was still in production?

Is it a matter of enough time passing for people to gain the full understanding of the hardware required to optimize enough to make this possible? Or are these new developments somehow made possible by access to hardware and software that is orders of magnitude more capable than the target device?

Stuff like this and the various 3D render demos always leave me wondering why we never saw anything like this in these devices primes.

From the article: "similar to GEOS on the Commodore 64". GEOS was definitely of the time. Also large memory expansion (i.e. >= 256K) kits, while available in the era, cost money and were uncommon. This system apparently runs best with 1MB of memory.

There were some cool classic demos in the prime era of the Atari 8-bit like the FujiBoink response to the Amiga bouncing ball.

Wild guesses off of the top of my head:

* Time. A lot can happen in 40 years, new techniques are discovered and popularized, etc.

* Better tooling all around. Better languages, better IDEs, better libraries, etc. Anyone working today on a platform that has been hacked on for 40+ years is the beneficiary of all that work.

* More and better contributors. The number of people who had both the interest and the means to purchase an Atari computer in 1979 was necessarily limited. Since then, we've added another 3.7B people to the planet and a hell of a lot of them now have access to something resembling a computer. Most of them have grown up with the notion of a "programming language" being present in their world, something which wasn't necessarily commonplace 40 years back.

Back in the day the most advanced software developers used minicomputers: for instance Gates and Allen used an 8080 emulator on a PDP-10 to develop the original Microsoft BASIC. Infocom similarly used a PDP-10 to develop games like Zork.

A modern computer is a much more powerful machine than a 1970s minicomputer and would be great support for writing complex software today.

In the same vein, I believe John Carmack used a NeXTStation to develop Doom for the PC[1].

Matthew Smith also used a TRS-80 model III to develop Jet Set Willy for the ZX Spectrum.

1. https://en.m.wikipedia.org/wiki/Development_of_Doom

The closest I came to this was using a PC AT clone to develop some software for a teacher at my school when I was in high school. (Unless you count using a PC today to develop for Arduino)

I thought the teacher had a PC clone so I wrote the first draft of the software in Turbo BASIC, but then I found out she had a CP/M machine but I wasn't fazed very much because there was a good Z80 emulator that ran on my machine so I was able to port the code to run under (I think) MBASIC or CBASIC in CP/M.

In this case I was using an emulator to run the same dev tools I would have used in CP/M, I just didn't have a CP/M machine. It ran considerably faster than any real Z-80 machine thanks to the power of a 12Mhz 286 with zero wait states.

> and not when the console was still in production?

The "Atari 8-bit" refers to a line of 6502 based personal computers manufactured from 1979 until 1992! There was a commercially unsuccessful video game console, the 5200, derived from this general architecture - it's wild that for their illustrious place in video game history, Atari was a one hit wonder - they never really succeeded in a console release after the 2600.

Atari also had a line of 68k based 32/16 bit computers that sadly also discontinued in 1992 so that Atari could focus on their pathetic attempts to break back into the console market.

> it's wild that for their illustrious place in video game history, Atari was a one hit wonder

They had many, many popular coin-op machines.

(comment deleted)
I think from the part of the sentence that you took out it was clear the point was about consoles.

The Atari Pong console was also successful but I tend to not count it as I was only considering programmable consoles.

Hardware documentation and developer software not generally available, and expensive.

Internally, Atari did development on minicomputers and cross-assembled the output. For me there was just (slow) BASIC. Information on low-level features (Display Lists, I/O, etc) only came out in 3rd-party magazines & books years later.

I experienced the same mindset on the Atari ST & IBM PC later. Reading about GNU was a very novel idea.

First reaction: Why?

Second reaction: Wow!