Booting A PC From Vinyl For A Warmer, Richer OS

If you’ve scrolled through the list of boot options offered on any PC’s BIOS, it reads like a history of storage technology. Up top we have the options to boot from disk, often a solid-state drive, then USB disk, optical drive, removable media, and down the bottom there’s usually an option to boot from the network. Practically no BIOS, however, has an option to boot a PC from a vinyl record — at least until now.

Clearly a project from the “Because why not?” school of hacking, [Jozef Bogin] came up with the twist to the normal booting process for an IBM-PC. As in the IBM-PC — a model 5150, with the putty-colored case, dual 5-1/4″ floppies, and one of those amazing monochrome displays with the green slow-decay phosphors. To pull off the trick, [Jozef] leverages the rarely used and little known cassette tape interface that PCs had back in the early days. This required building a new bootloader and burning it to ROM to make the PC listen to audio signals with its 8255 programmable peripheral interface chip.

Once the PC had the right bootloader, a 64k FreeDOS bootable disk image was recorded on vinyl. [Jozef] provides infuriatingly little detail about the process other than to mention that the audio was sent directly to the vinyl lathe; we’d have loved to learn more about that. Nonetheless, the resulting 10″ record, played back at 45 RPM with some equalization tweaks to adapt for the RIAA equalization curve of the preamp, boots the PC into FreeDOS just fine, probably in no more time than it would have taken to boot from floppy.

It’s may not be the first time we’ve seen software on vinyl, but it’s still a pretty cool hack. Want to try it yourself but lack a record-cutting lathe? Maybe laser-cutting your boot disc will work.

Continue reading “Booting A PC From Vinyl For A Warmer, Richer OS”

Bringing An IBM Model F Into 2020

We know that the Hackaday family includes many enthusiasts for quality keyboards, and thus mention of the fabled ‘boards of yore such as the IBM Model F is sure to set a few pulses racing. Few of us are as lucky as [Brennon], who received the familial IBM PC-XT complete with its sought-after keyboard.

This Model F has a manufacture date in March 1983, and as a testament to its sturdy design was still in one piece with working electronics. It was however in an extremely grimy condition that necessitated a teardown and deep clean. Thus we are lucky enough to get a peek inside, and see just how much heavy engineering went into the construction of an IBM keyboard before the days of the feather-light membrane devices that so many of us use today. There follows a tale of deep cleaning, with a Dremel and brush, and then a liberal application of Goo Gone. The keycaps had a long bath in soapy water to remove the grime, and we’re advised to more thoroughly dry them should we ever try this as some remaining water deep inside them caused corrosion on some of the springs.

The PC-XT interface is now so ancient as to have very little readily available in the way of adapters, so at first a PS/2 adapter was used along with a USB to PS/2 converter. Finally though a dedicated PC-XT to USB converter was procured, allowing easy typing on a modern computer.

This isn’t our first look at the Model F, but if you can’t afford a mechanical keyboard don’t worry. Simply download a piece of software that emulates the sound of one.

Hackaday Links Column Banner

Hackaday Links: October 11, 2020

If you’re interested in SDR and digital signal processing but don’t know where to start, you’re in luck. Ben Hillburn, president of the GNU Radio Project, recently tweeted about an online curriculum for learning SDR and DSP using Python. The course was developed by Dr. Mark Lichtman, who was a lead on GNU Radio, and from the look of it, this is the place to go to learn about putting SDRs to use doing cool things. The course is chock full of animations that make the concepts clear, and explain what all the equations mean in a way that’s sure to appeal to practical learners.

It’s not much of a secret that the Hackaday community loves clocks. We build clocks out of everything and anything, and any unique way of telling time is rightly applauded and celebrated on our pages. But does the clock motif make a good basis for a video game? Perhaps not, but that didn’t stop Clock Simulator from becoming a thing. To “play” Clock Simulator, you advance the hands of an on-screen clock by pressing a button once per second. Now, thanks to Michael Dwyer, you don’t even have to do that one simple thing. He developed a hardware cheat for Clock Simulator that takes the 1PPS output from a GPS module and wires it into a mouse. The pulse stream clicks the mouse once per second with atomic precision, rendering the player irrelevant and making the whole thing even more pointless. Or perhaps that is the point.

Maybe we were a little hard on Clock Simulator, though — we can see how it would help achieve a Zen-like state with its requirement for steady rhythm, at least when not cheating. Another source of Zen for some is watching precision machining, and more precise, the better. We ran into this mesmerizing video of a CNC micro-coil winder and found it fascinating to watch, despite the vertical format. The winder is built from a CNC lathe, to the carriage of which a wire dispenser and tensioning attachment have been added. The wire is hair-fine and passes through a ruby nozzle with a 0.6 mm bore, and LinuxCNC controls the tiny back and forth motion of the wire as it winds onto the form. We don’t know what the coil will be used for, but we respect the precision of winding something smaller than a matchhead.

Dave Jones over at EEVblog posted a teardown video this week that goes to a place few of us have ever seen: inside a processor module for an IBM System/390 server. These servers earned the name “Big Iron” for a reason, as everything about them was engineered to perform. The processor module Dave found in his mailbag was worth $250,000 in 1991, and from the look of it was worth every penny. From the 64-layer ceramic substrate supporting up to 121 individual dies to the stout oil-filled aluminum enclosure, everything about this module is impressive. We were particularly intrigued by the spring-loaded copper pistons used to transfer heat away from each die; the 2,772 pins on the other side were pretty neat too.

Here’s an interesting question: what happens if an earthquake occurs in the middle of a 3D printing run? It’s probably not something you’ve given much thought, but it’s something that regular reader Marius Taciuc experienced recently. As he relates, the magnitude 6.7 quake that struck near Kainatu in Papua New Guinea (later adjusted to a 6.3 magnitude) resulted in a solid 15 seconds of shaking at his location, where he was printing a part on his modified Mendel/Prusa i2. The shaking showed up clearly in the part as the machine started swaying with the room. It’s probably not a practical way to make a seismograph, but it’s still an interesting artifact.

Open Hardware Laptop Built On Power PC ISA

Since Apple switched to Intel chips in the mid-00s, the PowerPC chips from Motorola and the PowerPC Instruction Set Architecture (ISA) that they had been using largely fell by the wayside. While true that niche applications like supercomputing still use the Power ISA on other non-Apple hardware, the days of personal computing with PowerPC are largely gone unless you’re still desperately trying to keep your Power Mac G5 out of the landfill or replaying Twilight Princess. Luckily for enthusiasts, though, the Power ISA is now open source and this group has been working on an open-source laptop based on this architecture.

While development is ongoing and there are no end-user products available yet, the progress that this group has made shows promise. They have completed their PCB designs and schematics and have a working bill of materials, including a chassis from Slimbook. There are also prototypes with a T2080RDB development kit and a NXP T2080 processor, although they aren’t running on their intended hardware yet. While still in the infancy, there are promising videos (linked below) which show the prototypes operating smoothly under the auspices of the Debian distribution that is tailored specifically for the Power ISA.

We are excited to see work continue on this project, as the Power ISA has a number of advantages over x86 in performance, ARM when considering that it’s non-proprietary, and even RISC-V since it is older and better understood. If you want a deeper comparison between all of these ISAs, our own [Maya Posch] covered that topic in detail as well as covered the original move that IBM made to open-source the Power ISA.

Continue reading “Open Hardware Laptop Built On Power PC ISA”

Frances Allen Optimised Your Code Without You Even Knowing

In 2020, our digital world and the software we use to create it are a towering structure, built upon countless layers of abstraction and building blocks — just think about all the translations and interactions that occur from loading a webpage. Whilst abstraction is undoubtedly a great thing, it only works if we’re building on solid ground; if the lower levels are stable and fast. What does that mean in practice? It means low-level, compiled languages, which can be heavily optimised and leveraged to make the most of computer hardware. One of the giants in this area was Frances Allen, who recently passed away in early August. Described by IBM as “a pioneer in compiler organization and optimization algorithms,” she made numerous significant contributions to the field. Continue reading “Frances Allen Optimised Your Code Without You Even Knowing”

IBM Reveals POWER10 CPU Based On The OpenPOWER ISA 3.1 Specification

This week, IBM revealed their POWER10 CPU, which may not seem too exciting since it’s primarily aimed at big iron like mainframes and servers. The real news for most is that it is the first processor to be released that is based on the open Power ISA specification v3.1. This new version of the Power ISA adds a number of new instructions as well as the notion of optionality. It updates the v3.0 specification that was released in 2015, right after the founding of the OpenPOWER Foundation.

Currently, a number of open source designs for the Power ISA exists, including MicroWatt (Power v3.0, VHDL) and the similar ChiselWatt (written in Scala-based Chisel).  In June of this year, IBM also released the VHDL code for the IBM A2 processor on Github. This is a multi-core capable, 4-way multithreaded 64-bit design, with silicon-implementations running at up to 2.3 GHz and using the Power ISA v2.06 specification.

The ISA specifications and other relevant technical documentation can be obtained from the OpenPOWER website, such as for example the Power ISA v3.0B specification from 2017. The website also lists the current cores and communities around the Power ISA.

(Main image: POWER10 CPU, credit IBM)

Ask Hackaday: Are 80 Characters Per Line Still Reasonable In 2020?

Software developers won’t ever run out of subjects to argue and fight about. Some of them can be fundamental to a project — like choice of language or the programming paradigm to begin with. Others seem more of a personal preference at first, but can end up equally fundamental on a bigger scale — like which character to choose for indentation, where to place the curly braces, or how to handle line breaks. Latest when there’s more than one developer collaborating, it’s time to find a common agreement in form of a coding style guide, which might of course require a bit of compromise.

Regardless of taste, the worst decision is having no decision, and even if you don’t agree with a specific detail, it’s usually best to make peace with it for the benefit of uniformly formatted code. In a professional environment, a style guide was ideally worked out collaboratively inside or between teams, and input and opinions of everyone involved were taken into consideration — and if your company doesn’t have one to begin with, the best step to take is probably one towards the exit.

The situation can get a bit more complex in open source projects though, depending on the structure and size of a project. If no official style guide exists, the graceful thing to do is to simply adopt the code base’s current style when contributing to it. But larger projects that are accustomed to a multitude of random contributors will typically have one defined, which was either worked out by the core developers, or declared by its benevolent dictator for life.

In case of the Linux kernel, that’s of course [Linus Torvalds], who has recently shaken up the community with a mailing list response declaring an overly common, often even unwritten rule of code formatting as essentially obsolete: the 80-character line limitation. Considering the notoriety of his rants and crudeness, his response, which was initiated by a line break change in the submitted patch, seems downright diplomatic this time.

[Linus]’ reasoning against a continuing enforcement of 80-char line limits is primarly the fact that screens are simply big enough today to comfortably fit longer lines, even with multiple terminals (or windows) next to each other. As he puts it, the only reason to stick to the limitation is using an actual VT100, which won’t serve much use in kernel development anyway.

Allowing longer lines on the other hand would encourage the use of more verbose variable names and whitespace, which in turn would actually increase readability. Of course, all to a certain extent, and [Linus] obviously doesn’t call for abolishing line breaks altogether. But he has a point; does it really make sense to stick to a decades old, nowadays rather arbitrary-seeming limitation in 2020?

Continue reading “Ask Hackaday: Are 80 Characters Per Line Still Reasonable In 2020?”