Linux Fu: Compose Yourself!

Our computers can display an astonishing range of symbols. Unicode alone defines more than 150,000 characters, covering everything from mathematical operators and phonetic alphabets to emoji and obscure historical scripts. Our keyboards, on the other hand, remain stubbornly limited to a few dozen keys.

On Windows, the traditional workaround involves memorizing numeric codes or digging through character maps. Linux, being Linux, offers something far more flexible: XCompose. It’s one of those powerful, quietly brilliant features that’s been around forever, works almost everywhere, and somehow still feels like a secret.

XCompose is part of the X11 input system. It lets you define compose sequences: short key sequences that produce a Unicode character. Think of it as a programmable “dead key” system on steroids. This can be as simple as programming an ‘E’ to produce a Euro sign or as complex as converting “flower” into a little flower emoji. Even though the system originated with X11, I’ve been told that it mostly works with Wayland, too. So let’s look deeper.

Continue reading “Linux Fu: Compose Yourself!”

The Confusing World Of Bus Mice

The USB port which first appeared on our computers some time in the mid-1990s has made interfacing peripherals an easy task, save for the occasional upside down connector. But in the days before USB there were a plethora of plugs and sockets for peripherals, often requiring their own expansion card. Among these were mice, and [Robert Smallshire] is here with a potted history of the many incompatible standards which confuse the retrocomputing enthusiast to this day.

The first widely available mice in the 1980s used a quadrature interface, in which the output from mechanical encoders coupled to the mouse ball is fed directly to the computer interface which contains some form of hardware or microcontroller decoder. These were gradually superseded by serial mice that used an RS-232 port, then PS/2 mice, and finally the USB variant you probably use today.

Among those quadrature mice — or bus mice, as early Microsoft marketing referred to them — were an annoying variety of interfaces. Microsoft, Commodore, and Atari mice are similar electrically and have the same 9-pin D connector, yet remain incompatible with each other. The write-up takes a dive into the interface cards, where we find the familiar 8255 I/O port at play. We’d quite like to have heard about the Sun optical mice with their special mouse pad too, but perhaps their omission illustrates the breadth of the bus mouse world.

This piece has certainly broadened our knowledge of quadrature mice, and we used a few of them back in the day. If you only have a USB mouse and your computer expects one of these rarities, don’t worry, there’s an adapter for that.

Know Audio: Microphone Basics

A friend of mine is producing a series of HOWTO videos for an open source project, and discovered that he needed a better microphone than the one built into his laptop.  Upon searching, he was faced with a bewildering array of peripherals aimed at would-be podcasters, influencers, and content creators, many of which appeared to be well-packaged versions of very cheap genericised items such as you can find on AliExpress.

If an experienced electronic engineer finds himself baffled when buying a microphone, what chance does a less-informed member of the public have! It’s time to shed some light on the matter, and to move for the first time in this series from the playback into the recording half of the audio world. Let’s consider the microphone.

Background, History, and Principles

A microphone is simply a device for converting the pressure variations in the air created by sounds, into electrical impulses that can be recorded. They will always be accompanied by some kind of signal conditioning preamplifier, but in this instance we’re considering the physical microphone itself. There are a variety of different types of microphone in use, and after a short look at microphone history and a discussion of what makes a good microphone, we’ll consider a few of them in detail. Continue reading “Know Audio: Microphone Basics”

Microsoft’s WebTV Is Being Revived By Fans

During the 1990s, everyone wanted to surf the information super-highway — also known as the World Wide Web or just ‘Internet’ — but not everyone was interested in getting one of those newfangled personal computers when they already had a perfect good television set. This opened a market for TV-connected thin clients that could browse the web with a much lower entry fee, with the WebTV service being launched in 1996. Bought by Microsoft in 1997 and renamed MSN TV, it lasted until 2013. Yet rather than this being the end, the service is now being revived by members of the community through the WebTV Redialed project.

The DreamPi adds dial-up support back to old hardware.
The DreamPi adds dial-up support back to old hardware.

The project, which was recently featured in a video by [MattKC], replaces the original back-end services that the thin clients connected to via their dial-up modems, with the first revision using a proprietary protocol. The later and much more powerful MSN TV 2 devices relied on a standard HTTP-based protocol running on Microsoft’s Internet Information Services (IIS) web server and Windows.

What’s interesting about this new project is that it allows you to not just reconnect your vintage WebTV/MSN TV box, but also use a Windows-based viewer and more. What difficulty level you pick depends on the chosen hardware and connection method. For example, you can pair the Raspberry Pi with a USB modem to get online thanks to the DeamPi project.

Interestingly, DreamPi was created to get the Sega Dreamcast back online, with said console also having its own WebTV port that can be revived this way. Just in case you really want to get the full Dreamcast experience.

Continue reading “Microsoft’s WebTV Is Being Revived By Fans”

39C3: Liberating ESP32 Bluetooth

Bluetooth is everywhere, but it’s hard to inspect. Most of the magic is done inside a Bluetooth controller chip, accessed only through a controller-specific Host-Controller Interface (HCI) protocol, and almost everything your code does with Bluetooth passes through a binary library that speaks the right HCI dialect. Reverse engineering these libraries can get us a lot more control of and information about what’s going on over the radio link.

That’s [Anton]’s motivation and goal in this reversing and documentation project, which he describes for us in this great talk at this year’s Chaos Communication Congress. In the end, [Anton] gets enough transparency about the internal workings of the Bluetooth binaries to transmit and receive data. He stops short of writing his own BT stack, but suggests that it would be possible, but maybe more work than one person should undertake.

So what does this get us? Low-level control of the BT controller in a popular platform like the ESP32 that can do both classic and low-energy Bluetooth should help a lot with security research into Bluetooth in general. He figured out how to send arbitrary packets, for instance, which should allow someone to write a BT fuzzing tool. Unfortunately, there is a sequence ID that prevents his work from turning the controller into a fully promiscuous BT monitor, but still there’s a lot of new ground exposed here.

If any of this sounds interesting to you, you’ll find his write-up, register descriptions, and more in the GitHub repository. This isn’t a plug-and-play Bluetooth tool yet, but this is the kind of groundwork on a popular chip that we expect will enable future hacking, and we salute [Anton] for shining some light into one of the most ubiquitous and yet intransparent corners of everyday tech.

Playing A Game Of Linux On Your Sony Playstation 2

Until the 2000s, game consoles existed primarily to bring a bit of the gaming arcade experience to homes, providing graphical feats that the average home computer would struggle to emulate. By the 2000s this changed, along with the idea of running desktop applications on gaming console for some reason. Hence we got Linux for the PlayStation 2, targeting its MIPS R5900 CPU and custom GPU. Unlike these days where game consoles are reskinned gaming PCs, this required some real effort, as well as a veritable stack of accessories, as demonstrated by [Action Retro] in a recent video.

Linux on the PlayStation 2 was a bit of a rare beast, as it required not only the optional HDD and a compatible ‘fat’ PS2, but also an Ethernet adapter, VGA adapter and a dedicated 8 MB memory card along with a keyboard and mouse. PS2 Linux users were also not free to do what they wanted, with e.g. ripping PS2 game discs disallowed, but you could make your own games. All of which had to fit within the PS2’s meagre 32 MB of RAM.

Continue reading “Playing A Game Of Linux On Your Sony Playstation 2”

The Rise Of Fake Casio Scientific Calculators

Scientific calculators are an amazing invention that take pocket calculators from being merely basic arithmetic machines to being pocket computers that can handle everything from statistics to algebra. That said, there are a few layers of scientific calculators, starting with those aimed at students. This is where Casio is very popular, especially because it uses traditional algebraic notation (VPAM) that follows the written style, rather than the reverse-polish notation (RPN) of HP and others. However, much like retro Casio wristwatches, it appears that these Casio calculators are now being (poorly) faked, as explained by [Another Roof] on YouTube.

The advanced fx-991 models are updated every few years, with the letters following the model indicating the year, such as fx-991EX standing for the 2015-released model. This was the model that got purchased online and which turned out to be fake. While the fx-991CW is newer, it changes the entire interface and is rightfully scolded in the video. Arguably this makes it the worst Casio scientific calculator in history.

Continue reading “The Rise Of Fake Casio Scientific Calculators”