Just the signal, not the noise

Hello 8bit'ers,

What a Friday, what a month, what a vacation. Even though we skipped an issue, we still hope for your loyalty – because after a well-deserved recharge, we not only realized that battery capacity is directly and proportionally related to age, but also that a lot can happen in 4 weeks.

As always, we've compiled the topics that just couldn't be swept off the table of retro history, and we hope – as always – that one or two resonate with you.

Back to our regular schedule now – but for now, enjoy Issue #85.


ATARI 2600 Reborn

Brand New ATARI 2600
Imagesource: https://atari.com/

As if selling 30 million (!) consoles wasn't already impressive enough, the ATARI team, tweeting as @atari, tapped into the collective hive-mind of an entire generation and brought to life that one wish – that singular desire:

A brand-new ATARI 2600.

You might think it's a stroke of genius, but honestly, the concept isn't that far-fetched. Take a successful retro product, emulate it with modern, affordable hardware, add a few contemporary features like HDMI output, widescreen support, and some neat little gimmicks, and you've got a recipe for printing money. 💸

Of course, it wasn't that simple, but the new 2600 certainly impresses, especially since it looks almost identical to the original. The included CX40+ joystick is also a faithful replica of the original, and if you happen to have some old 2600 or 7800 cartridges lying around in your attic, you can start playing right away.

The package, priced at a modest $129.99, also comes with a 10-in-1 cartridge loaded with some real classics. So, even without rummaging through your attic or basement, you can instantly transport yourself back to the 80s.

It's interesting to note that Atari actually produced the original until 1992. It remains to be seen whether this new Rockchip 3128 SOC-based version will enjoy the same roaring success over the next 15 years. 🤔

Regardless, at this price point, it's hard to go wrong. And if you're already on the hunt for a Christmas gift...

Thank you, ATARI! 👾

Share the signal:

Linux on a C64

Linux on the C64
Imagesource: Bill Bertram, CC BY-SA 2.5, via Wikimedia Commons

The word crazy can be interpreted in a myriad of ways. There's good crazy, bad crazy, downright insane crazy – and then there's Linux on the C64! 🤯

What? 😳

It's hard to pinpoint exactly what drove Onno Kortman aka @djinno to undertake this – let's call it – experiment, but he went for it. And intriguingly, he was quite successful. You can't just take a stock 64 and boot up the penguin, but with a RAM Expansion Unit and a whooooole lot of patience, you can get pretty darn close.

Even with the REU's assistance, the OS runs about as fast as a hibernating snail. However, if you forgo the original hardware and instead opt for an unrestricted emulator, you'll get to witness a machine with a software-implemented MMU that's actually operational.

It's unlikely that this will become anyone's daily driver, but it's definitely worth the fun. Well, for those who find it fun to invest so much time into this project. 😜

In any case, it's a true milestone for the breadbin and the 6510.

Share the signal:

ChatGPT for TRS-80

ChatGPT for the TRS-80
Imagesource: Dave Jones, CC BY-SA 4.0, via Wikimedia Commons

Not a day goes by without AI news to read. Not a day goes by without another AI product claiming to be the absolute pinnacle of essential tech for my personal life.

But until now, no one thought of the real game-changer: ChatGPT running on my beloved TRS-80!

Thanks to Galen Hollins aka druid77, there's finally an update on this wish list, and the associated software TRS-GPT is available on github.

Given that the TRS-80 has a few more years under its belt than the average MacBook, it naturally can't natively connect to a Wi-Fi router and the internet. But with a little piece of hardware called TRS-IO, you can quickly bridge that gap - quite literally.

Add a few lines of BASIC, and you're all set to chat with artificial intelligence. What a time to be alive.

Galen has nicely documented the story of his implementation, and those interested in reading will surely be pleased. For those in a hurry, there's also a short demo video available.

Share the signal:


Bare Metal Space Invaders

Bare Metal Space Invaders
Imagesource: https://blog.fponzi.me/

Every new version of Space Invaders is still worth a look in 2023.

45 years after its initial release by Taito, the game has seen so many reincarnations that it's safe to say there's hardly any CPU instruction set that hasn't been bent at least once to implement this game.

But what do most of these versions – with a few exceptions – have in common? At least one abstraction layer called an operating system between them and the raw, bare metal.

There's nothing inherently wrong with that. Still, Federico Ponzi, tweeting as @federico_ponzi, set out to create his own version on a Raspberry Pi, not just in Rust, but also without relying on an operating system, kernel, or standard library.

Game on!

The result is his bare metal variant, which can also be compiled for the desktop, and offers a lot of learning potential. Avoiding dynamic memory allocation, double buffering, timing, UART control – all topics that need to be implemented at a low level.

But Federico succeeded, and those interested in a journey to Rust land will find not only engaging content in his wonderful article but potentially a lot of inspiration as well.

Share the signal:

16-Bit Homebrew

16-Bit Homebrew
Imagesource: https://www.jiristepanovsky.cz/

The list of homebrew CPUs is long. Veeeery long. Not only since the likes of Ben Eater, but enthusiasts of automated, electricity-based computing machines have also tried their hand at their own implementations.

A fascinating 16-bit contender from the Homebrew CPU Ring recently made its debut, emerging from the modern labs (or perhaps the basement) of Jiri Stepanovsky. You can find more about him here.

Jiri's goal was to build a Turing-complete 16-bit CPU with the fewest possible ICs, crafting everything down to the ALU himself.

What's unique about his build is that the ALU is only 1 bit wide, meaning the necessary 16-bit operations must be executed serially. The use of serial RAM greatly aids this endeavor, making the implementation all the more intriguing!

Once assembled, you have access to 128kB of RAM and a whopping 768kB of Flash, and the whole thing can be clocked at around 10MHz. Due to the serialization, the 52 instructions do take quite a few cycles to complete, but it's sufficient for running Bad Apple at 10fps and just about anything else you can imagine.

It's a fantastic project for anyone looking to upgrade from 8-bit to 16-bit but isn't daunted by the 1-bit downgrade of the ALU.

Share the signal:

Better CRT

Better CRT
Imagesource: Adrian's Digital Basement

Does it sound reasonable to you to replace the mainboard of a nearly 20-year-old CRT?

No? Then one of the recent topics from Adrian Black aka @craig1black might not be up your alley.

However, if you're intrigued, there's a unique piece of craftsmanship awaiting. At the end of this project, an old Magnavox/Philips TV not only receives a new Chinese mainboard but, as a pleasant side effect, can handle NTSCPAL, and SECAM signals.

It might sound odd at first, but it's genuinely a worthwhile endeavor if you're into vintage computers or gaming consoles and want to display those colorful pixels as the developers intended.

And since 2-decades-old CRTs, while abundant on platforms like eBay, are still … well two decades old, it makes sense to give such a device a rejuvenating overhaul to prepare it for the next 20 years.

Interesting to watch.

Share the signal:


Imagesource: https://pexels.com/

The versatility of Common Lisp, suitable not just for many things but virtually everything, is showcased in a delightful project. While it's already 7 years old, it recently made its way to the HN front page.

Potential-Disco is an NES emulator written in Common Lisp. And if you immediately associate Lisp with pure functional programming, you'd be mistaken. Side effects, object orientation, and a host of imperative constructs ensure that the language isn't purely functional. This makes projects like the one by Samantha Doran, tweeting as @doran_samantha, much more feasible.

But this isn't just for enthusiasts looking to breathe digital life back into their ROM collection on their PCs. It's especially intriguing for any Lisp fan to delve into the neatly organized source code.

There's a wealth of knowledge to be gained, and for those who've always wanted to dive into Lisp, this repository serves as a fantastic learning resource after an initial introduction to the language.

Happy Coding.

Share the signal:

#17 – GameRoy

Imagesource: https://unsplash.com/

Statistically, game consoles are becoming increasingly interesting in the fall. This also applies to emulators. And since there was still a lack of a Gameboy project in 2023, it was finally time in September.

So, how about a Gameboy with superpowers? 🦸‍♂️

Thanks to the efforts of Rodrigo Batista de Moraes, whose work can be found on github here, we get precisely that – and completely free of charge!

While there's no shortage of Gameboy emulators out there, akin to the proverbial sand on the beach, we haven't come across one with a JIT compiler before. What exactly does that mean? Just-In-Time compilation is a technique where the emulator translates the code into machine code in real-time, allowing it to be executed directly by the host. The result? A turbo-boost for nostalgia!

Moreover, GameRoy not only boasts an impressive GUI (complete with a debugger and disassembler) but has also made its way to Android! Another notable feature is a clever method for handling interrupts. And while other emulators often have to choose between performance or precision, GameRoy has found a way to achieve both. How? By estimating when the next interrupt will occur. Retro innovation at its finest.

Numbers: GameRoy can emulate Tobu Tobu Girl (who doesn't know it?) over 100 times faster than the original system! I'd love to see the gamer who can keep up with that... 😜

Share the signal:

Amiga System Programming

Amiga System Programming
Imagesource: https://www.markround.com/

Is the Amiga your daily driver, and you can't imagine working with any other system? If so, the following might not be news to you.

However, if you happen to own an oldish 500, 600, 1000, or any of the other marvelous machines of the family, and you have both the passion and time to delve into modern development methodologies for the Amiga, then Mark Dastmalchi-Round has just the thing for you. You can find more about him here.

In his latest article, Mark delves deep into Amiga system programming. He touches upon the 68k models and also discusses the PowerPC variants, AmigaDOS, AmiNet, and more. Additionally, he explores modern development tools like VSCode, Docker, and cloud-native tools that offer flexibility, especially when paired with advanced emulation.

It's quality content that we definitely want more of, and a delightful read for all fans of the beloved girlfriend. ❤️

Share the signal:


Apple ][ DOS

Apple ][ DOS
Imagesource: https://youtu.be/ylotUlHpB_o

Vince Weaver, who can be found over at deater.net, is one of my personal super heroes. His demakes are legendary, but in my opinion, they don't get the attention they deserve.

Vince's latest creation is Apple ][ DOS. Well, to be honest, it's more something that looks like DOS – but who cares when it's this much fun?

Vince provides the appropriate disk image here, and the binary within does its best to automatically recognize a variety of Apple II models and RAM sizes. The rest, as the master himself documents, might be a bit... faked. 🤫

It's definitely cool. And when you combine it with another one of Vince's demakes, like Lemmings II, for instance, you get a genuine DOS gaming experience on the vintage Apple.

As always – it's surprising and fun.

Share the signal:

MOS 6502 in C++

MOS 6502 in C++
Imagesource: https://youtu.be/qJgsuQoy9bc

Few CPUs have been emulated as frequently as the MOS 6502, along with its subsequent derivatives like the 6510 or the current version from Western Design Center.

Building such an emulation is not just a fun endeavor; you also get to learn in detail how this piece of silicon and plastic from the late 70s managed to revolutionize our world (alongside a couple of other CPUs, of course).

Previously unbeknownst to us, but recently surfacing on the net, is an excellent series by YouTuber @DavePoo.

Dave constructs a 6502 emulator in C++ across 35 videos, which kick off right here. Instead of relying on a scripting language, Dave establishes a clean object structure and gradually implements the entire instruction set of the CPU in C++.

If this doesn't spark an interest in coding along, I'm not sure what will. An interesting challenge: Watch the video series and implement it in your language of choice.

Or just watch and... enjoy. 📺

Share the signal:

Be the OS

Be the OS
Imagesource: https://plbrault.com/

The following game is the off-topic topic of the week – but it's just too cool not to make it into this edition.

Ever thought your computer's operating system had it easy? Think again! Recently, Pier-Luc Brault aka @plbrault@fosstodon.org came up with a quirky idea: What if you were the operating system in a video game? Your mission? Juggle CPU cores, manage memory, and ensure no process feels left out. And – of course – don't anger the user by being too slow, or face the dreaded reboot!

The game offers various difficulty levels and even a custom mode for those who like to tweak settings. But is it educational? While it's primarily for fun and not a 100% accurate representation of how operating systems work, it might provide computer science students with a playful introduction to concepts like process scheduling and memory swapping.

You can find the related write-up here and play the game directly on itch.io. But be warned, it doesn't exactly start off slow, and despite its relatively simple gameplay, the game can be quite addictive.

Share the signal:

Plus/4 Stunt Car Racer

Plus/4 Stunt Car Racer
Imagesource: https://cobbpg.github.io/

A bit of gaming history: Stunt Car Racer was a technical marvel of its time – a 3D racing game that ran on a 1 MHz CPU. Originally developed for the C64, it was ported to numerous other platforms. And now, thanks to Patai Gergely aka @cobbpg, the Commodore Plus/4 has its own version!

The porting process wasn't without its challenges. The Plus/4, although having some advantages over the C64, lacks support for sprites. This meant that our developer had to get creative, especially when rendering things like the wheels and the boost flame. 🔥

The result: A visual treat that impresses both in gameplay and in the menu. And for those wondering how they can play it without owning a real Commodore Plus/4: There's the Yape emulator!

A fantastic piece of work with a compelling outcome. 🏎️

Share the signal:

Did you find something interesting? Great! If not, we can only promise to make it up in the next issue. We're back to reality, the holidays are over, and the next issue should materialize in your inbox exactly 2 weeks from today.

If you're currently working on something exciting that has to manage with 256 different states or is otherwise rolling on the retro track, please send us a short message. Content contributions are always warmly welcomed. 🙏

And since we still haven't managed to make our mail provider's queues explode on Fridays, we also appreciate every new subscriber. Know someone who might be interested? A quick click on Forward won't hurt – we'll handle the rest.

The story continues in two weeks. Until then... build something, and talk about it.

Wow, things are hopping here!
Jan & Bastian

This email was forwarded to you? You can sign up here to receive it directly.

View our privacy policy here.

Made with 🍉 in Berlin

More content like that - only for subscribers. Free of charge. Free of SPAM. Rich in retro.