Game Cartridges And The Technology To Make Data Last Forever

Game cartridges are perhaps the hardiest of all common storage schemes. Short of blunt traumatic force or application of electrical surges to the cartridge’s edge connectors, damaging a game cartridge is hard to do by accident. The same is also true for the data on them, whether one talks about an Atari 2006 cartridge from the late 1970s or a 1990s Nintendo 64 cartridge.

The secret sauce here are mask ROMs (MROM), which are read-only memory chips that literally have the software turned into a hardware memory device. A mask layer unique to each data set is used when metalizing the interconnects during chip fabrication. This means that the data stored on them is as durable as the processor in the game console itself. Yet this is not a technology that we can use in our own hobby projects, and it’s not available for personal long-term data storage due to the costs associated with manufacturing what is essentially a custom chip.

Despite its value as truly persistent storage, MROM has fallen out of favor over the decades. You may be surprised to find a lot of what’s currently used in the consumer market is prone to data corruption over time spans as short as one year to one decade depending on environmental conditions.

So what are we to do if we need to have read-only data that should remain readable for the coming decades?

Continue reading “Game Cartridges And The Technology To Make Data Last Forever”

Giving Micro Channel Bus Computers A Sound Blaster Bark

Not many people today probably remember what ‘Micro Channel Architecture’ was about, though its acronym ‘MCA’ might ring a bell. Created by IBM to replace ISA (Industry Standard Architecture) and presumably claw back some of that sweet, sweet licensing money, it didn’t quite pan out as IBM hoped. As history shows us, PCI ended up replacing MCA in all of IBM’s systems. The IBM PS/2 systems that used MCA didn’t miss out on classic 1990s cards, such as the original Sound Blaster, but today MCA versions of the Sound Blaster are admittedly rather… rare, not to mention expensive.

But, no longer: decades after the last PS/2 users have moved on, [Tube Time] proudly presents the Snark Barker MCA. It’s a fully Sound Blaster compatible sound card. It supports AdLib synthesis, digital sound playback and recording, as well as a joystick input and MIDI. Based around a Xilinx XC9572XL CPLD and featuring what looks like a full-length MCA card, it would have made an original Sound Blaster card proud.

The GitHub repository not only contains the schematics, BOM and Verilog-based HDL for the CPLD, but also extensive documentation on the assembly and programming. As a bonus, there’s a troubleshooting section which covers some of the joys that came with the sloppy implementations of MCA across systems. Definitely worth a read.

If anyone decides to build this project and use it in their IBM PS/2 system, we would love to hear about it.

Of course, if all you need is a garden variety PCI Sound Blaster clone, the original Snark Barker is the way to go.

(Thanks, Darry)

Eulogy To Arecibo: With Demise Of A Unique Scientific Facility, Who Will Carry The Torch?

Few telescopes will get an emotional response from the general public when it is ultimately announced that they will be decommissioned. In the case of the Arecibo Observatory in Arecibo, Puerto Rico, the past months has seen not only astronomers but also countless people across the world wait with bated breath after initial reports of damage to the radio telescope’s gigantic dish.

When the National Science Foundation announced that they would be decommissioning the telescope, there was an understandable outpouring of grief and shock. Not only is Arecibo a landmark in Puerto Rico, it is the telescope from iconic movies such as GoldenEye (1995) and Contact (1997). Its data fed public programs such as the Seti@Home and Einstein@Home projects.

Was Arecibo’s demise truly unavoidable, and what does this mean for the scientific community?

Continue reading “Eulogy To Arecibo: With Demise Of A Unique Scientific Facility, Who Will Carry The Torch?”

The Shipping Industry’s Transition To Atomic Power And Faster Deliveries

The transport of goods with cargo ships and especially container ships is the backbone of today’s economies, with about 90% of non-bulk cargo transported with them. This is in addition to the large number of oil tankers and LNG carriers. Unfortunately, due to their use of diesel engines they are also responsible for about 3.5% of the world’s CO2 emissions, in addition to 18 – 30% of nitrogen oxide and 9% of sulfur oxides.

Although the switch to low-sulfur diesel (ULSD) and the use of speed limits has reduced some of these pollutants, the shipping industry sees itself faced with the necessity to decarbonize in order to meet the obligations of the Paris Agreement. This essentially means finding a way to switch from diesel engines to an alternative which has comparable or better fuel costs, produces no or almost no pollutants and will not negatively affect logistics.

As a highly competitive, cut-throat industry, this does seem to leave shipping companies backed up against  a wall. Yet an existing, proven technology just so happens to exist already which can be retrofitted into existing cargo ships. Continue reading “The Shipping Industry’s Transition To Atomic Power And Faster Deliveries”

Bare-Metal STM32: From Power-Up To Hello World

Some may ask why you’d want to program a Cortex-M microcontroller like the STM32 series using nothing but the ARM toolchain and the ST Microelectronics-provided datasheet and reference manual. If your first response to that question wasn’t a panicked dive towards the nearest emergency exit, then it might be that that question has piqued your interest. Why, indeed?

Definitely, one could use any of the existing frameworks to program an STM32 MCU, whether the ST HAL framework, plain CMSIS, or even something more Arduino-flavored. Yet where is the fun in that, when at the end of the day one is still fully dependent on that framework’s documentation and its developers? More succinctly, if the contents of the STM32 reference manuals still look like so much gibberish, does one really understand the platform?

Let’s take a look at how bare-metal STM32 programming works, and make the most basic example run, shall we? Continue reading “Bare-Metal STM32: From Power-Up To Hello World”

Wireless Earphones And Getting Them Back After They Fall On Tram Tracks

Over the past years, the trend has become to ditch anything with wires. This has led to many people dropping wired earphones and headphones for wireless (Bluetooth) versions. Yet along with the freedom from having the wires snagged on something and having earphones painfully torn out of your ears comes the very real risk of having them drop out of your ears to land potentially very inconvenient.

In Japan this has led to a big issue for railway companies, where throngs of commuters will often accidentally drop possessions onto the tracks. Staff members will then use a mechanical claw (‘magic hand’) to fetch them without having to risk their life by jumping down. With small items such as wireless earphones, this is however not so easy. With 947 cases of dropped earphones in the period of July-September in just the Tokyo area, this has led to desperate staff members coming up with new methods of easily retrieving the small gadgets.

Solutions range from putting something sticky like tape at the end of a stick, to modifying vacuum cleaners. Most recently Tokyo railway company JR East has collaborated with Panasonic to develop a vacuum cleaner-like device that is especially designed to easily retrieve such small items from the tracks, according to the Japan Times article.

The embedded video (also found after the break) from a Japanese broadcaster describes the issue in detail, along with tips on how to properly wear earphones so that they’re far less likely to fall out when you’re waiting on the tram or walking down the street. While it’s possible to fetch your dropped wireless earphones from the tracks, having someone step on it right after it falls out of your ear on the street is less easy to recover from.

Continue reading “Wireless Earphones And Getting Them Back After They Fall On Tram Tracks”

Local And Remote Debugging With GDB

As a debugger, GDB is a veritable Swiss Army knife. And just like exploring all of the non-obvious uses of a those knives, your initial response to the scope of GDB’s feature set is likely to be one of bewilderment, subsequent confusion, and occasional laughter. This is an understandable reaction in the case of the Swiss Army knife as one is unlikely to be in the midst of an army campaign or trapped in the wilderness. Similarly, it takes a tricky debugging session to really learn to appreciate GDB’s feature set.

If you have already used GDB to debug some code, it was likely wrapped in the comfort blanket of an IDE. This is of course one way to use GDB, but limits the available features to what the IDE exposes. Fortunately, the command line interface (CLI) of GDB has no such limitations. Learning the CLI GDB commands also has the advantage that one can perform that critical remote debug session even in the field via an SSH session over the 9600 baud satellite modem inside your Swiss Army knife, Cyber Edition.

Have I carried this analogy too far? Probably. But learning the full potential of GDB is well worth your time so today, let’s dive in to sharpen our digital toolsets.

Continue reading “Local And Remote Debugging With GDB”