Hackaday Podcast Episode 387: Superhuman Clocks, CAN In USB-C, And The Joys Of Bare Metal

This week, Hackaday Editors Elliot Williams and Tom Nardi start the episode off by discussing the latest CircuitPython developments before covering some impressive reverse engineering efforts, the benefits of modeling your projects in 3D, and some of the most incredible timepieces that have ever graced the pages of Hackaday.

You’ll also hear about the fascinating potential of combing 3D and UV printing, Linux on the ESP32, and a virtual TV station that pulls from the Internet Archive. The episode wraps up with a Hackaday Europe double-feature: one talk extols the virtues of keeping things simple through bare metal development, while the other covers off-world hacks and fixes that will make you want to sign up for Space Camp.

Check out the links if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download, the MP3 way.

Continue reading “Hackaday Podcast Episode 387: Superhuman Clocks, CAN In USB-C, And The Joys Of Bare Metal”

Analyzing The FScale Instruction In Intel’s 8087 FPU

During his continuing analysis of the architecture and microcode of Intel’s highly influential 8087 floating point unit (FPU) co-processor, [Ken Shirriff] has now arrived at the point where he can put together how the 8087’s microcode implements various x87 instructions. One of these, the FSCALE instruction turned out to be far more complicated than assumed, with one might assume to be a straightforward powers-of-two scaling turning out to entail over 140 micro-instructions and three levels of sub-routine calls just to handle all cases.

The annotated die shot in the heading image shows the functional blocks that are used by this one x87 instruction, to give some kind of idea of what amount of hardware even ‘just’ scaling a floating point number involves.

Much like with the x86’s CISC-style ISA, these 8087 instructions break down into individual steps that involve everything from loading values into registers, performing operations, checking for and handling error conditions as well as stack management. As can be seen in [Ken]’s breakdown of the FSCALE implementation in the 8087 it’s all very logical, taking a high-level instruction and doing all that’s needed for a robust implementation, without bothering the developer with the details.

Of note is that the 8087’s implementations led to the IEEE 754 floating point standard, providing what definitely at the time was one of the most mathematically accurate FPUs that somehow still was financially responsible enough to make it into a relatively affordable PC.

FLOSS Weekly Episode 879: Easy Like Butter

This week Jonathan chats with Nathan Freitas of the Guardian Project! What is going on at the forefront of Open Source and privacy advocacy? Where are we on a true Tor browser on iOS? And what’s the ideal solution to the Android Lockdown issue? Watch to find out!

Continue reading “FLOSS Weekly Episode 879: Easy Like Butter”

Building A Discrete Component 75 Baud Modem

These days, modems are pretty fancy bits of kit, what with to keep up with the speeds of cable, VDSL, and fiber connections. At lower speeds, though, it’s entirely possible to build a modem out of simple discrete components. [sv3ora] did just that, building a simple modem for the CB2 Micro.

It’s a remarkably simple build.

The project takes advantage of the fact that the V1.54 firmware for the CB2 Micro enabled 75 baud serial communication. Thus, it made sense for [sv3ora] to build a 75 baud modem to suit. As was the way in the days of dial-up internet, the modem modulates data into audio, demodulates audio back into data, allowing the CB2 Micro to send and receive data over telephone lines, ham radio links, or to store and retrieve data via mediums like cassette tape.

The device is built out of good old BC547 transistors. along with a smattering of diodes, resistors, and capacitors as supporting hardware. That’s all you need to turn slow serial into audio and back again. [sv3ora] does a great job of demoing the hardware, using it to store a program on tape and retrieve it again later.

We love old school modems around these parts. We’ve even explored ways to build your own dial-up ISP in the past!

Continue reading “Building A Discrete Component 75 Baud Modem”

A Versatile PDP-11/70 Emulator

The PDP-11 was a 16-bit minicomputer that was very influential in its time. That’s what inspired [vanheusden] to start working on an emulator for the machine in 2018, which has since been developed to run on a wide variety of platforms. 

The emulator, named “Kek,” is quite capable, able to run Unix 5 up to an d including Unix 7 in multi-user mode, along with BSD 2.11 Unix depending on what it’s running on. It also supports classic hardware like RK05, RL02, RP06, and RP07 disks, the KW11-L line time clock, and the DC-11 serial line interface. The emulator can also run on a wide variety of platforms. It’s possible to run it on a standard Linux machine if so desired, or you can run it on BSD, MacOS, or Windows if so desired. Beyond that, you can even get it going on a Teensy 4.1 or an ESP32 if that’s more your jam. Modern microcontrollers are just that powerful that emulating a PDP-11/70 just isn’t a challenge anymore.

We love seeing old machines emulated and brought back to life. It’s funny to see how often it’s done on microcontrollers instead of full-scale PCs these days, too. Video after the break.

Continue reading “A Versatile PDP-11/70 Emulator”

FLOSS Weekly Episode 877: RCE As A Service

This week Jonathan chats with Francois Proulx about SmokedMeat! That’s the third in a trio of Open Source security tools from Boost Security, and this one is the red team tool to demonstrate vulnerabilities. Why are Continuous Integration vulnerabilities such a persistent problem, and what’s on the horizon that may help? Watch to find out!

Continue reading “FLOSS Weekly Episode 877: RCE As A Service”