The NES Gets Its Own OS

Until recently, most video game systems didn’t need their own operating systems in order to play games. Especially in the cartridge era — the games themselves simply ran directly on the hardware and didn’t require the middleman of an operating system for any of the functionality of the consoles. There were exceptions for computers that doubled as home computers such as the Commodore, but systems like the NES never had their own dedicated OS. At least, until [Inkbox] designed and built the NES-OS.

The operating system does not have any command line, instead going directly for a graphical user interface. There are two programs that make up the operating system. The first is a settings application which allows the user to make various changes to the appearance and behavior of the OS, and the second is a word processor with support for the Japanese “Family Keyboard” accessory. The memory on the NES is limited, and since the OS loads entirely into RAM there’s only enough leftover space for eight total files. Those files themselves are limited to 832 bytes, which is one screen’s worth of text without scrolling.

While it might seem limited to those of us living in the modern era, the OS makes nearly complete use of the available processing power and memory of this 1980s system that was best known for Super Mario Bros. and Duck Hunt. It’s an impressive build for such a small package, and really dives into a lot of the hardware and limitations when building software for these systems. If you need more functionality than that, we’d recommend installing Linux on the NES Classic instead.

Continue reading “The NES Gets Its Own OS”

New OS For Commodore 64 Adds Modern Features

The Commodore 64 was a revolutionary computer for its day and age. After four decades, though, it gets harder and harder to use these computers for anything more than educational or hobby electronics projects. [Gregory Nacu] is fiercly determined to challenge this idea, though, and has gone to great extremes to make this hardware still relevant in the modern age by writing a completely new operating system for the Commodore machines.

Known as C64OS, it squeezes everything it can out of the 8 bit processor and 64 kB of memory. The new OS includes switchable desktop workspaces, a windowing system, draggable icons, a Mac-style menu bar at the top, and drop-down menus for the icons (known as aliases in the demonstrations). The filesystem is largely revamped as well and enables a more modern directory system to be used. There are still some limitations like a screen resolution of 320×200 pixels and a fixed color palette which only allows for a handful of colors, but this OS might give Windows 3.1 a run for its money.

The project is still being actively developed but it has come a long way into a fairly usable state. It can be run on original hardware as well as long as you have a method of getting the image to the antique machine somehow. If not, the OS can likely run on any number of C64 emulators we’ve featured in the past.

Thanks to [Stephen] for the tip!

Continue reading “New OS For Commodore 64 Adds Modern Features”

90s Apple Computer Finally Runs Unsigned Code

Back in the 90s, the console wars were in full swing. Nintendo vs Sega was an epic showdown at first, but when Nintendo seemed sure to clench the victory Sony came out of nowhere with the PlayStation. While these were the most popular consoles at the time, there were a few others around that are largely forgotten by history even if they were revolutionary in some ways. An example is the Pippin, a console made by Apple, which until now has been unable to run any software not signed by Apple.

The Pippin was Apple’s only foray into gaming consoles, but it did much more than that and included a primitive social networking system as well as the ability to run Apple’s Macintosh operating system. The idea was to be a full media center of sorts, and the software that it would run would be loaded from the CD-ROM at each boot. [Blitter] has finally cracked this computer, allowing it to run custom software, by creating an authentication file which is placed on the CD to tell the Pippin that it is “approved” by Apple.

The build log goes into incredible detail on the way these machines operated, and if you have a Pippin still sitting around it might be time to grab it out of the box and start customizing it in the way you probably always wanted to. For those interested in other obscure Apple products, take a look at this build which brings modern WiFi to the Apple Newton, their early PDA.

Continue reading “90s Apple Computer Finally Runs Unsigned Code”

Pumpkin OS running on x86

Palm OS: Reincarnate

[pmig96] loves PalmOS and has set about on the arduous task of reimplementing PalmOS from scratch, dubbing it Pumpkin OS. Pumpkin OS can run on x86 and ARM at native speed as it is not an emulator. System calls are trapped and intercepted by Pumpkin OS. Because it doesn’t emulate, Palm apps currently need to be recompiled for x86, though it’s hoped to support apps that use ARMlets soon. Since there are over 800 different system traps in PalmOS, he hasn’t implemented them all yet.

Generally speaking, his saving grace is that 80% of the apps only use 20% of the API. His starting point was a script that took the headers from the PalmOS SDK and converted them into functions with just a debug message letting him know that it isn’t implemented yet and a default return value. Additionally, [pmig96] is taking away some of the restrictions on the old PalmOS, such as being limited to only one running app at a time.

As if an x86 desktop version wasn’t enough, [pmig96] recompiled Pumpkin OS to a Raspberry Pi 4 with a ubiquitous 3.5″ 320×480 TFT SPI touch screen. Linux maps the TFT screen to a frame buffer (dev/fb0 or dev/fb1). He added a quick optimization to only draw areas that have changed so that the SPI writes could be kept small to keep the frame rate performance.

[pmig96] isn’t the only one trying to breathe some new life into PalmOS, and we hope to see more progress on PumpkinOS in the future.

MULTICS Gets A New Release… 52 Years After Launch

If you have ever read anything about the history of UNIX, you may remember that its early development was influenced by an older operating system. MULTICS was developed in the 1960s by MIT and General Electric as a commercial operating system, and had been the system which UNIX writers [Thompson] and [Ritchie] had used. It became a Honeywell product, and the source code for its final commercial version was eventually released to the public. Has it become a dusty relic of interest only to historians? Seemingly not, because a new version has been released. It’s intended for us on the dps8m Honeywell mainframe simulator rather than physical hardware, so perhaps while it’s not such a dusty relic it remains something only for the enthusiast.

We won’t pretend to be experts on the architectures of 1960s mainframe operating systems, but it’s interesting to read for a moment about what it was in MULTICS that caused UNIX to be written. For something described by [Ken Thompson] as “Close to unusable”, with a fresh release in its 52nd year it isn’t doing badly.

We’ve traced the UNIX story in the past, without realising that MULTICS never entirely went away. Shame on us for the omission!

[Via Hacker News]

Tiny Operating System For Tiny Computer

Before the World Wide Web became ubiquitous as the de facto way to access electronic information, there were many other ways of retrieving information online. One of the most successful of these was Minitel, a French videotex service that lasted from 1980 all the way until 2012. But just because the service has been deactivated doesn’t mean its hardware can’t be used for modern builds like this Arduino-based operating system. (Google Translate from French)

Called ZARDOS, the operating system is built to run on an Arduino MEGA although a smaller version is available for the Uno. The Arduino is connected by a serial cable to the Minitel terminal. It can take input from a keyboard and PS/2 mouse and displays video on the terminal screen with the same cable. There is functionality built-in for accessing data on a cartridge system based on SD cards which greatly expands the limited capabilities of the Atmel chip as well, and there is also support for a speaker and a Videotex printer.

Even though the build uses a modern microcontroller, it gives us flashbacks to pre-WWW days with its retro terminal. All of the code is available on the project site for anyone looking to build an Arduino-based operating system, although it will take a little bit of hardware hacking to build a Minitel terminal like this. Either way, it’s a great way to revive some antique French hardware similar to a build we’ve seen which converts one into a Linux terminal.

Thanks to [troisieme_type] for the tip!

Reaching Serenity: Porting Git To A Homebrew Operating System

Life is all about the little joys — such as waking up in the morning and realizing there’s still plenty of time before you have to actually get up. Or getting up anyway to watch a delightful sunrise as the city slowly wakes up, or as [Andreas Kling] chose, porting your favorite development tool to the operating system you wrote.

With the aesthetics of ’90s UI design and the functionality of a simpler 2000s Unix-style system core in mind, and personal reasons to keep himself busy, [Andreas] started SerenityOS a little while back. Of course, writing your own operating system is always a great educational exercise, but it takes a certain amount of commitment to push it beyond an experimental playground phase. So ideally, you’d eventually want to use it as your actual main system, however, as software developer, [Andreas] was missing one crucial component for that: git. Well, he decided to change that and just port it — and as someone who likes to record his hacking sessions, you can watch him along the way.

Admittedly, watching someone tweaking some build tools and compiler settings would normally sound anything but overly exciting, but it adds a few more layers to it when doing so for a work-in-progress OS written from scratch — from digging into libc implementations to an almost reverse engineering approach to the build environment. If you take pleasure in people’s thought process in problem solving and (spoiler alert) their success, you will enjoy watching [Andreas]. On the other hand, if you’re more curious about a fresh approach at a desktop operating system, SerenityOS itself might be worth looking into. Of course, there are other options for that as well.

Continue reading “Reaching Serenity: Porting Git To A Homebrew Operating System”