DiscoBSD: a 2.11BSD-based UNIX-like operating system for STM32 and PIC32 microcontrollers

DiscoBSD is a 2.11BSD-based UNIX-like operating system for microcontrollers, with a focus on high portability to memory constrained devices without a memory management unit. This microcontroller-focused operating system is the continuation of RetroBSD, a 2.11BSD-based OS targeting only the MIPS-based PIC32MX7. DiscoBSD is multi-platform, as it also supports Arm Cortex-M4 STM32F4 devices. We mentioned RetroBSD before, way back in 2014 and 2018. Good to see the project is still alive, albeit under a new name.

Fun with macOS’s SIP

While developing mirrord, which heavily relies on injecting itself into other people’s binaries, we ran into some challenges posed by macOS’s SIP (System Integrity Protection). This post details how we ultimately overcame these challenges, and we hope it can be of help to other people hoping to learn about SIP, as we’ve learned the hard way that there’s very little written about this subject on the internet. Potentially useful information for macOS developers.

US accuses Google of abusing monopoly in ad technology

The Justice Department and a group of eight states sued Google on Tuesday, accusing it of illegally abusing a monopoly over the technology that powers online advertising, in the agency’s first antitrust lawsuit against a tech giant under President Biden and an escalation in legal pressure on one of the world’s biggest internet companies. The lawsuit said Google had “corrupted legitimate competition in the ad tech industry by engaging in a systematic campaign to seize control of the wide swath of high-tech tools used by publishers, advertisers and brokers to facilitate digital advertising.” More of this, please.

Magic Cap, from the Magic Link to the DataRover and the stuff in-between

Welcome to Magic Cap, the oddest yet somehow most endearing interface a PDA — and, briefly, Windows 95 — ever had. Unlike the Palm OS where I bought my first device brand new, I was a late convert to Magic Cap, picking up this wacky device called a DataRover in 2004 just to play with. It wasn’t exactly pocket-sized, but it was still quite portable, and the whimsical audio feedback and immediately accessible interface drew me in. I found some games and an Ethernet driver and the browser and enjoyed using it as a handheld in my old apartment. Despite my love for PDAs and my pretty large collection of devices covering most PDA platforms, I’ve never actually owned or used a Magic Cap device. I wonder if it’s time to address that shortcoming.

Bulldozer, AMD’s crash modernization: frontend and execution engine

But as you might think, nobody at AMD envisioned it that way in the planning or design stages. No engineer would ever start working with the idea to “build a shit product”; a recent chat with an engineer who was at AMD during Bulldozer’s development gave us additional insight on what the original goals for the architecture were. AMD originally wanted Bulldozer to be like K10, but with a shared frontend and FPU. In one architecture, AMD would improve single threaded performance while massively increasing multithreaded performance, and move to a new 32 nm node at the same time. But those goals were too ambitious, and AMD struggled to keep clock frequency up on the 32 nm process. This resulted in cuts to the architecture, which started to stack up. The last AMD processor I used pre-Zen was a Phenom II, which was a fine processor for the price. However, after that, it quickly became clear that Intel had taken the lead. As such, I never experienced this era of AMD, and I think many of you will have had the same experience. This makes articles like these incredibly interesting.

Windows 3.x VDDVGA

While working on my Windows 3.x display driver, I ran into a vexing problem. In Windows 3.1 running in Enhanced 386 mode, I could start a DOS session and switch it to a window. But an attempt to set a mode in the DOS window (e.g. MODE CO80) would destroy the Windows desktop, preventing further drawing from happening properly. It was possible to recover by using Alt+Enter to switch the DOS window to full screen again and then returning to the desktop, but obviously that wasn’t going to cut it. Oddly enough, this problem did not exist in Windows 3.0. And in fact it also didn’t exist in Windows 3.1 if I used the Windows 3.0 compatible VDDVGA30.386 VxD shipped with Windows 3.1 (plus the corresponding VGA30.3GR grabber). A classic retro computing bug hunt! These stories are always a good read.

Windows 11 is getting ReFS support

Recent Windows 11 Insider builds include support for ReFS, the Resilient File System. The file system is currently only available in Windows server operating systems, but not in client systems. Resilient File System is designed to “maximize data availability, scale efficiently to large data sets across diverse workloads, and provide data integrity with resiliency to corruption” according to Microsoft. I doubt ReFS will replace NTFS any time soon, but with Windows’ lacklustre support for file systems, it’s always interesting to see something new come up.

Google’s Fuchsia and Area 120 see significant cuts in layoffs

Ahead of these layoffs, Fuchsia appeared to be on an upward trajectory within Google. After years of being a skunkworks project, the company’s from-scratch operating system has grown to be used in the Nest Hub series and is poised to be used in an upcoming device. There are even indications of Google ramping up Fuchsia development internally in recent months. Considering Google’s overall workforce is set to be reduced by around 6%, the Fuchsia team appears to have been targeted more directly by the layoffs than other divisions. It’s not yet clear what this may mean for the project going forward. It doesn’t seem like a good idea to heavily cut the workforce of a team building a brand new operating system from scratch that you’ve only just started putting in consumers’ hands, but what do I know?

What is the Apple YACC?

Has anyone ever heard of the Apple YACC, or YACCintosh? it was a 68010 prototype mac intended to do colour in 1986. Weirdly enough someone managed to find the ROMs *and* the PALS for it, but no schematics have turned up yet. All of the stuff is on bitsavers. I do not know what to add here. This seems to be one of the most obscure – if not the most obscure – Apple efforts out there, as there are virtually zero references of it online.

Source code for the Apple Lisa released

Happy 40th Birthday to Lisa! The Apple Lisa computer, that is. In celebration of this milestone, CHM has received permission from Apple to release the source code to the Lisa software, including its system and applications software. Access the code here. More of this please.

The defender’s guide to Windows Services

This is the second installment of the Defender’s Guide series. In keeping with the theme, we are discussing Windows Services, the underlying technology, common attack vectors, and methods of securing/monitoring them. Services are an important part of the Windows operating system, allowing the control and configuration of long-running processes essential to keeping the OS functional. This also allows services to be a common vector of escalation and persistence by attackers. Some services (especially custom services) run with high privilege levels, and are set to restart themselves on boot. This is a slam dunk for the enterprising attacker looking to gain a foothold in an environment. Everything you ever wanted to know about services in Windows, particularly as it relates to security.

No start menu for you

I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) this process usually takes as long as it takes me to type these characters, just a fraction of a second. Usually. Sometimes, however, it takes longer. A lot longer. As in, tens of seconds. The slowdowns are unpredictable but recently I was able to record an Event Tracing for Windows (ETW) trace of one of these delays. With a bit of help from people on twitter I was able to analyze the trace and understand why it took about a minute to launch notepad. I loved reading every bit of this post. Even for someone not versed in programming, it’s quite easy to follow along and understand what is happening deep in the bowels of Windows when this bug occurs. I’ll spoil the surprise: This deserves reiterating. My start menu was hung due to the combination of heap corruption and WerFault.exe deciding that it needed to upload the crash dump before releasing the old process so that a new one could be started. And uploading the crash dump ran into issues, causing the delay. The tools to watch for bugs is causing more bugs. Who watches the watchers?

Here’s what’s going on in the world of Firefox extensions

So we weren’t surprised to hear that Chrome users were concerned after learning that several of the internet’s most popular ad blockers, like uBlock Origin, would lose some of their privacy-preserving functionality on Google’s web browser, resulting from the changes Manifest V3 brings to Chrome’s extensions platform – changes that strengthen other facets of security, while unfortunately limiting the capabilities of certain types of privacy extensions. But rest assured that in spite of these changes to Chrome’s new extensions architecture, Firefox’s implementation of Manifest V3 ensures users can access the most effective privacy tools available like uBlock Origin and other content-blocking and privacy-preserving extensions. I’m so glad Firefox exists. There simply isn’t any viable alternative to it, and that’s why I’m continuously worried about the continued existence of Mozilla. The story around Manifest V3 is just another example of why Firefox is superior.

SAIC Galaxy 1100: a pre-CDE VUE of the PA-RISC with a security clearance

Here’s an in-depth look at a portable, ruggedized, third-party PA-RISC system running a pre-CDE version of HP-UX. The SAIC Galaxy family consisted of two systems, the 1000 and the 1100. Both the 1000 and 1100 were essentially recased 9000/712 workstations with minor hardware modifications and custom added electronics, but all of the systems I’ve seen including mine are Galaxy 1100s, based on an 80MHz PA-7100LC (the 1000 reportedly ran the 60MHz version).

In case you thought AIX had a future

In case you thought IBM AIX had a future, IBM’s legacy proprietary Unix, IBM apparently doesn’t. The Register reported Friday that IBM has moved the entire AIX development group to IBM India, apparently their Bangalore office, and placing 80 US-based developers into “redeployment.” That’s a fairly craven way of replacing layoffs with musical chairs, requiring the displaced developers to either find a new position within the company (possibly relocating as well) within some unspecified period, or retire. About a third of IBM’s global staff is on the Indian subcontinent. IBM didn’t publicly announce this move and while it’s undoubtedly good news for IBM India it seems bad news for AIX’s prospects: the technologies IBM thinks are up and coming IBM tends to spend money on, and so an obvious cost-cutting move suggests IBM doesn’t think AIX is one of those things. The writing’s on the wall for all the remaining commercial UNIX variants. By this point I think most of the work being done on AIX and HP-UX is maintaining the install base and fulfilling support contracts, after which there’s no real reason to keep these platforms going.

Microsoft returns to the Altair

The Altair 8800 arguably launched Microsoft. Now Dave Glover from Microsoft offers an emulated and potentially cloud-based Altair emulation with CP/M and Microsoft Basic. You can see a video of the project below. One thing that makes it a bit odd compared to other Altair clones we’ve seen is that the emulator runs in a Docker environment and is fully cloud-enabled. You can interact with it via a PCB front panel, or a terminal running in a web browser. Neat.

Atari 2600 hardware design: making something out of (almost) nothing

Recently over the holiday break, I became interested in the 2600’s hardware architecture and started reading everything that I could find about it. I knew that it was some kind of 6502-based system, and I’d heard mentions of “racing the beam”, but that’s as far as my knowledge went. I was shocked to discover how primitive the 2600 hardware was, even compared to contemporary 6502 systems like the Apple II, Commodore PET, and even Atari’s own 8-bit computers. The 2600 was a bit before my time – I’m from 1984 – and I’ve never even seen one in person. While I understand how important and influential the 2600 really was, I find the games and technology just a bit too primitive to enjoy today, whereas games for the NES I can still happily play today. I’m sure if you grew up with the 2600, you’d disagree.

Chuck E. Cheese still uses floppy disks in 2023, but not for long

On Sunday, a Chuck E. Cheese employee named Stewart Coonrod posted a TikTok video that documents the process of installing a new song-and-dance show on an old Chuck E. Cheese animatronics system—a process that involves a 3.5-inch floppy disk and two DVDs. Coonrod says it is the last update before his store undergoes a remodel that will remove the animatronics altogether. I’ve never visited this restaurant chain, but I always love peeks behind the curtain of the technology places like this use. It reminds me of our favourite bar near the red light district in Amsterdam, which used a touchscreen computer running BeOS to manage its music playlist.