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”

Orbital Mechanics On A Vintage Kaypro

These days, a good proxy for hacking prowess is getting Doom playable on the oldest piece of hardware imaginable. While we respect and applaud these efforts, perhaps the bar should be set a bit higher. Like orbital mechanics on an early 80s Kaypro, perhaps?

At least that’s the hurdle [Chris Fenton] set for himself as a fun project for his spare time with his Kaypro 2/84, a vintage Z80 clocking in at a screaming 4 MHz and 64-kB of RAM. With its built-in 80×25, 9″ green phosphor CRT monitor and flip-top keyboard, the Kaypro fit into that loveable luggable category of machines and predated IBM’s and Apple’s market dominance by a few years. The CP/M operating system has actually aged pretty well — but well enough to port [Chris]’ Deep Dish Nine, a graphical game written for the Arduboy that uses Kerbal-like orbital mechanics skills to deliver interplanetary pizzas? In the first instance, no — the game, ported to Turbo Pascal, only managed fractional frames per second, rendering it unplayable. But with some very clever coding, [Chris] was able to improve refresh rates 10-fold. The optimization road not taken includes hardware hacks, like overclocking the Z80 or even replacing it with an FPGA and emulator, but that’s hardly keeping with the spirit of the thing.

It’s always great to see vintage machines pushing the envelope. A great place to see them is one of the Vintage Computer Fairs, like the upcoming VCF Southeast in Georgia. We were at the one diagonally across the country a few weeks back, and they’re well worth the trip.

What’s New, ESP-32? Testing The Arduino Library

In case you missed it, the big news is that a minimal Arduino core is up and working on the ESP32. There’s still lots left to do, but the core functionality — GPIO, UART, SPI, I2C, and WiFi — are all up and ready to be tested out. Installing the library is as easy as checking out the code from GitHub into your Arduino install, so that’s exactly what I did.

I then spent a couple days playing around with it. It’s a work in progress, but it’s getting to the point of being useful, and the codebase itself contains some hidden gems. Come on along and take a sneak peek.

Continue reading “What’s New, ESP-32? Testing The Arduino Library”

A TV-B-Gone With A PIC Twist

pic-tvbgone

[Kayvon] thought that the TV-B-Gone was a fun little device and wanted to build one, but he didn’t have an AVR programmer handy. Rather than picking up some AVR kit and simply building a replica, he decided to give his PIC skills a workout and build a Microchip derivative of his own.

The PIC-based TV-B-Gone is pretty similar to its AVR-borne brethren, featuring a PIC24F08KA101 at the helm instead of an ATTiny. His version of the TV-B-Gone can be left on indefinitely, allowing him to situate the device in a convenient hiding place to wreak havoc for as long as he likes.

[Kayvon’s] TV-B-Gone does everything the original can at just under $7, which is quite a bit cheaper than the Adafruit kit. If you’re not averse to perfboard construction, be sure to check out the build thread over in the Adafruit forums. [Kayvon] has done most of the heavy lifting for you – all you need to do is build it.

Arduino Environment On ATmega644

Our friend [Zach Hoeken] at NYC Resistor is porting the Arduino environment to an ATmega644 chip. This doesn’t really add new functionality to the ATmega644 as it is already fully programmable, but it does add a user-friendly and familiar environment to the ATmega, allowing users to build their Arduino-based projects with more powerful hardware. The ATmega is, after all, the biggest DIP package AVR makes, featuring 64k flash and 4k RAM (both four times as much as an Arduino) and 32 I/O pins, which is 12 more than an Arduino. The video is only proof of concept, so we will let you know when [Zach] releases more details.

[via NYC Resistor]