A Free Speed Boost For Your Pi 5

The world of the overclocker contains many arcane tweaks to squeeze the last drops of performance from a computer, many of which require expert knowledge to understand. Happily for Raspberry Pi 5 owners the Pi engineers have come up with a set of tweaks you don’t have to be an overclocker to benefit from, working on the DRAM timings to extract a healthy speed boost. Serial Pi hacker [Jeff Geerling] has tested them and thinks they should be good for as much as 20% boost on a stock board. When overclocked to 3.2 GHz, he found an unbelievable 32% increase in performance.

We’re not DRAM experts here at Hackaday, but as we understand it they have been using timings from the Micron data sheets designed to play it safe. In consultation with Micron engineers they were able to use settings designed to be much faster, we gather by monitoring RAM temperature to ensure the chips stay within their parameters. Best of all, there’s no need to get down and dirty with the settings, and they can be available to all with a firmware update. It’s claimed this will help Pi 4 owners to some extent as well as those with a Pi 5, so even slightly older boards get some love. So if you have a Pi 5, don’t wait for the Pi 6, upgrade today, for free!

565RU1 die manufactured in 1981.

The First Mass Produced DRAM Of The Soviet Union

KE565RU1A (1985) in comparison with the analogue from AMD (1980)
KE565RU1A (1985) in comparison with the analogue from AMD (1980)

Although the benefits of semiconductor technology were undeniable during the second half the 20th century, there was a clear divide between the two sides of the Iron Curtain. Whilst the First World had access to top-of-the-line semiconductor foundries and engineers, the Second World was having to get by with scraps. Unable to keep up with the frantic pace of the USA’s developments in particular, the USSR saw itself reduced to copying Western designs and smuggling in machinery where possible. A good example of this is the USSR’s first mass-produced dynamic RAM (DRAM), the 565RU1, as detailed by [The CPUShack Museum].

While the West’s first commercially mass-produced DRAM began in 1970 with the Intel 1103 (1024 x 1) with its three-transistor design, the 565RU1 was developed in 1975, with engineering samples produced until the autumn of 1977. This DRAM chip featured a three-transistor design, with a 4096 x 1 layout and characteristics reminiscent of Western DRAM ICs like the Ti TMS4060. It was produced at a range of microelectronics enterprises in the USSR. These included Angstrem, Mezon (Moldova), Alpha (Latvia) and Exciton (Moscow).

Of course, by the second half of the 1970s the West had already moved on to single-transistor, more efficient DRAM designs. Although the 565RU1 was never known for being that great, it was nevertheless used throughout the USSR and Second World. One example of this is a 1985 article (page 2) by [V. Ye. Beloshevskiy], the Electronics Department Chief of the Belorussian Railroad Computer Center in which the unreliability of the 565RU1 ICs are described, and ways to add redundancy to the (YeS1035) computing systems.

Top image: 565RU1 die manufactured in 1981.

16 Kbit DRAM Gives Up Its Secrets

[Ken Shirriff] is looking inside chips again. This time, the subject is the MK4116 — a 16 Kbit DRAM chip. Even without a calculator, you know that’s a whopping 2 Kbytes, and while that doesn’t sound impressive, in the late 1970s, it was a modern miracle.

The chip showed up in computers ranging from the TRS-80 to the Xerox Alto and was even a mainstay of arcade video games. While [Ken] thought it would be a pretty predictable teardown, he found several surprises.

Static RAM chips use flip flops and retain their state as long as power is on. That’s convenient, but each flip flop takes multiple transistors, so there is a limit to how many bits you can put on a particular size chip. Dynamic RAM increases that limit because it is nothing more than a capacitor and a single transistor. This increases memory density, but the problem is that the capacitor doesn’t hold charge indefinitely. The computer or an associated circuit had to refresh the memory periodically to maintain the contents.

One of the key innovations for this chip was the use of multiplexed address lines so it could use a smaller package. Inside, two banks of capacitors store the bits, and, usually, a computer would use eight chips to store a byte. Of course, each memory bit is made to be as compact as possible. This chip is also made to be very low power when idle. The secret is that it doesn’t use load transistors but instead uses an active pull-up tied to the system clock. Another interesting feature is the sense amplifier, which has to measure the tiny noisy voltage from the capacitors.

You’ll see all this and more in [Ken’s] write-up. Chips from that era were relatively easy to take apart compared to today’s devices. Want to know how it’s done? [Ken] can tell you. He is well-known for doing a lot of cool stuff, with ICs and even old mainframe and space hardware.

Book8088 Slows Down To Join The Demoscene

As obsolete as the original IBM Model 5150 PC may appear, it’s pretty much the proverbial giant’s shoulders upon which we all stand today. That makes the machine worth celebrating, so much so that we now have machines like the Book8088, a diminutive clamshell-style machine made from period-correct PC chips; sort of a “netbook that never was.”

But the Book8088 only approximates the original specs of the IBM PC, making some clever hardware hacks necessary to run some of the more specialized software that has since been developed to really stretch the limits of the architecture. [GloriousCow]’s first steps were to replace the Book8088’s CPU, an NEC V20, with an actual 8088, and the display controller with a CGA-accurate Motorola MC6845. Neither of these quite did the trick, though, at least not on the demanding 8088MPH demo, which makes assumptions about CPU speed based on the quirky DRAM refresh scheme used in the original IBM PC.

Knowing this, [GloriousCow] embarked on a bodge-fest aimed at convincing the demo that the slightly overclocked Book8088 was really just a 4.77-MHz machine with a CGA adapter. This involved cutting a trace on the DMA controller and reconnecting it to the machine’s PIO timer chip, with the help of a 74LS74 flip-flop, a chip that made an appearance in the 5150 but was omitted from the Book8088. Thankfully, the netbook has plenty of room for these mods, and with the addition of a little bit of assembly code, the netbook was able to convince 8088MPH that it was running on the correct hardware.

We thoroughly enjoyed this trip down the DMA/DRAM rabbit hole. The work isn’t finished yet, though — the throttled netbook still won’t run the Area 5150 demo yet. Given [GloriousCow]’s recent Rust-based cycle-accurate PC emulation, we feel pretty good that this will come to pass soon enough.

A modern DRAM board for the Heathkit H8 computer

Versatile DRAM Board Adds Memory To Any Heathkit H8 Variant

Ask anyone to name a first-generation home computer from the 1970s, and they’ll probably mention the likes of the Altair 8800 and IMSAI 8080. But those iconic machines weren’t the only options available to hobbyists back in the day: Heathkit, famous for its extensive range of electronic devices sold in kit form, jumped on the microcomputer bandwagon with their H8. Though it always remained a bit of an obscure machine, several dedicated enthusiasts kept making H8-compatible hardware and software long after the computer itself went out of production. That tradition continues in 2023, with [Scott M. Baker] producing a brand-new DRAM board that’s compatible with any version of the H8.

Although the Heathkit H8 was designed around the Intel 8080 processor, it could also be equipped with a Z80. [Scott] had built an 8085 based CPU board as well, meaning that any other hardware he developed for the H8 had to support these three processors. For something as timing-critical as a memory board, this turned out to be way harder than he’d expected.

First off, he had already made things difficult for himself by choosing DRAM rather than the simpler SRAM. Whereas SRAM chips can be more or less directly hooked up to the CPU’s address and data buses, a DRAM setup needs refresh circuitry to ensure the data doesn’t leak out of the chips’ internal capacitors. [Scott] decided to use the classic D8203 DRAM controller to do that for him — a solution that was pretty common back in the day.

Getting the timing right for all signals between the CPU and the DRAM controller was not at all trivial, however. The main problem was with two signals, called /SACK and /XACK, which were used to pause memory access during refresh cycles. Depending on which CPU was on the other side, these signals apparently had to be combined with other signals, stored in a flip-flop or delayed by a cycle or two in order to align with the processor’s internal logic. None of this seemed to work reliably, so [Scott] looked elsewhere for inspiration.

A vintage DRAM board for the Heathkit H8 computer
Luckily, traces are easy to follow on a two-layer board.

He found this on eBay, where a few vintage H8-compatible DRAM boards were for sale. Although [Scott] didn’t manage to win the auction, the eventual buyer was kind enough to snap some high-resolution pictures of the board which enabled him to reverse-engineer the circuit. The board used the similar D8202 DRAM controller and came with logic that generated the proper signals to interface with the 8080 and 8085 CPUs. For the Z80, [Scott] dived into the documentation for Heathkit’s Z80 option and found a schematic with a few logic gates that would satisfy the Zilog chip as well.

[Scott] combined both of these solutions on a beautiful 1980s-style printed circuit board, with a bunch of 7400 series logic gates and even two GAL22V10 programmable logic devices. With full documentation and Gerber files available on the project’s GitHub page, Heathkit H8 owners can now get their own brand-new memory board — in kit form, as a Heathkit should be.

There are several enthusiasts keeping the various Heathkit computer models up and running, and even producing completely new ones. The Heath Company also still exists, selling electronic kits to this day.

Thanks for the tip, [Adrian]!

Linux Fu: Reading Your Memory’s Memory

Linux users have a lot of software to be proud of. However, there is the occasional Windows program that does something you’d really like to do and it just won’t run. This is especially true of low-level system programs. If you want to poke around your CPU and memory, for example, there are tons of programs for that under Windows. There are a few for Linux, but they aren’t always as complete or handy. Recently, I had half the memory in my main desktop fail and I wanted to poke around in the system. In particular, I wanted to read the information encoded in the memory chips configuration EEPROM. Should be easy, right? You’d think.

Not Really Easy

One nice tool a lot of Windows users have is CPU-Z. Of course, it doesn’t run on Linux, but there is a really nice imitator called CPU-X. You can probably install it from your repositories. However, the GitHub page is a nice stop if for no other reason than to enjoy the user name [TheTumultuousUnicornOfDarkness]. The program has a gtk or an ncurses interface. You don’t need to run it as root, but if you press the “start daemon” button and authenticate, you can see some extra information, including a tab for memory.

Continue reading “Linux Fu: Reading Your Memory’s Memory”

MiniDisc Player Supports Full Data Transfer

Between the era of the CD and the eventual rise and domination of streaming music platforms, there was a limbo period of random MP3 players mixed in with the ubiquitous (and now officially discontinued) iPod. In certain areas, though, the digital music player of choice was the MiniDisc, a miniature re-writable CD player with some extra digital features. Among them was the ability to transfer music to the discs over USB, but they did not feature the ability to transfer the songs back to a computer. At least until now, thanks to this impressive hack from [asivery].

Although it sounds straightforward, this trick has a lot of moving parts that needed to come together just right. The MiniDisc player uses a proprietary encoding format called ATRAC, so a codec is needed for that. The MiniDisc player stores data from the disc in a 40-second buffer when playing, so the code reads the data directly from DRAM in 40-second chunks, moves the read head, repeats the process as needed, then stitches the 40-second parts back together. It can work on any Sony NetMD portable, if you are lucky enough to still have one around.

The project is a tremendous asset to the MiniDisc community, especially since the only way to recover data from a MiniDisc player prior to this was to use a specific version known as the RH-1. As [asivery] reports, used RH-1 players are going for incredibly high prices partially because of this feature. Since this new method demonstrates that it’s possible to do with other devices, perhaps its reign in the MiniDisc world will come to a close. For those still outside the loop on this esoteric piece of technology, take a look at this MiniDisc teardown.

Thanks to [Maarten] for the tip!