A Handheld Gaming PC With Steam Deck Vibes

Since its inception, the Steam Deck has been a bit of a game changer in the PC gaming world. The goal of the handheld console was to make PC gaming as easy and straightforward as a walled-garden proprietary console like a Switch or Playstation but still allow for the more open gaming experience of a PC. At its core, though, it’s essentially a standard PC with the parts reorganized into handheld form, and there’s no reason any other small-form-factor PC can’t be made into a similar system. [CNCDan] has the skills and tools needed to do this and shows us how it’s done.

The build is based around a NUC, a small form factor computer that typically uses the same low-power mobile processors and graphics cards found in laptops but without the built-in battery or screen. This one has an AMD Ryzen 7 processor with Radeon graphics, making it reasonably high-performing for its size. After measuring out the dimensions of the small computer and preparing for other components like the battery, joysticks, buttons, and even a trackpad, it was time to create the case. Instead of turning to a 3D printer, this one is instead milled on a CNC machine. Something tells us that [CNCDan] prefers subtractive manufacturing in general.

With all the parts assembled in the case, the build turns into a faithful Steam Deck replica with a few bonuses, like an exposed Ethernet port and the knowledge that everything can easily be fixed since it was built from the ground up in the first place. The other great thing about builds like these is they don’t need an obscure NUC for the hardware; you can always grab your old Framework mainboard for handheld gaming instead. Reminded us of the NucDeck.

Continue reading “A Handheld Gaming PC With Steam Deck Vibes”

Classic LED Bubble Displays Ride Again

Hewlett-Packard used to make some pretty cool LED displays, many of which appeared in their iconic pocket calculators back in the 1970s and 1980s. [Upir] tracked down some of these classic bubble displays and used them with a microcontroller. We love the results!

The displays featured here, the HPDL-1414, aren’t quite what would have been found in an HP-35, of course. These displays have 16 segments for reasonably legible approximations of most of the ASCII character set. Also, these aren’t just the displays; rather, a pair of the bubble-topped displays, each with four characters, is mounted to a module that provides a serial interface. [Upir] found these modules online, but despite the HP logo on the PCB silkscreen, it’s not really clear who made them. The documentation was a bit thin, to say the least, but with a little translation help from Google, he figured out the serial parameters and the character encoding. The video below shows him putting these modules through their paces.

Unusually for [upir], who has made a name for himself hacking displays to do things they weren’t designed to do, he stuck with the stock character set baked into this module. We think it would be fun to get one of these modules and hack the firmware to provide alternative character sets or even get a few of the naked displays and build a custom interface. Sounds like a fun rainy-day project.

This reminded us of another HP display project we saw a while back. Or, roll your own displays.

Continue reading “Classic LED Bubble Displays Ride Again”

Close-up of a CPU

Register Renaming: The Art Of Parallel Processing

In the quest for faster computing, modern CPUs have turned to innovative techniques to optimize instruction execution. One such technique, register renaming, is a crucial component that helps us achieve the impressive multi-tasking abilities of modern processors. If you’re keen on hacking or tinkering with how CPUs manage tasks, this is one concept you’ll want to understand. Here’s a breakdown of how it works and you can watch the video, below.

In a nutshell, register renaming allows CPUs to bypass the restrictions imposed by a limited number of registers. Consider a scenario where two operations need to access the same register at once: without renaming, the CPU would be stuck, having to wait for one task to complete before starting another. Enter the renaming trick—registers are reassigned on the fly, so different tasks can use the same logical register but physically reside in different slots. This drastically reduces idle time and boosts parallel tasking. Of course, you also have to ensure that the register you are using has the correct contents at the time you are using it, but there are many ways to solve that problem. The basic technique dates back to some IBM System/360 computers and other high-performance mainframes.

Register renaming isn’t the only way to solve this problem. There’s a lot that goes into a superscalar CPU.

Continue reading “Register Renaming: The Art Of Parallel Processing”

Open Source Universal ROM Programmer Grows Up

When we first looked at [Anders Nielsen’s] EEPROM programmer project, it was nice but needed some software and manual intervention and had some limitations on the parts you could program. But through the magic of Open-Source collaboration, revision 2 of the project overcomes all of these limitations and—as you can see in the video below—looks very polished.

If you recall, the programmer is in a “shield” format that can plug into an Arduino or — if you prefer a retrocomputer — a 6502uno. Along with hardware improvements from the community, [Henrik Olsson] wrote Python software to handle the programming (see the second video below).

Continue reading “Open Source Universal ROM Programmer Grows Up”

Ethernet From First Principles

For someone programming in a high-level language like Python, or even for people who interact primarily with their operating system and the software running on it, it can seem like the computer hardware is largely divorced from the work. Yes, the computer has to be physically present to do something like write a Hackaday article, but most of us will not understand the Assembly language, machine code, or transistor layout well enough to build up to what makes a browser run. [Francis Stokes] is a different breed, though, continually probing these mysterious low-level regions of our computerized world where he was recently able to send an Ethernet packet from scratch.

Continue reading “Ethernet From First Principles”

Vintage telephone

World’s First Virtual Meeting: 5,100 Engineers Phoned In

Would you believe that the first large-scale virtual meeting happened as early as 1916? More than a century before Zoom meetings became just another weekday burden, the American Institute of Electrical Engineers (AIEE) pulled off an unprecedented feat: connecting 5,100 engineers across eight cities through an elaborate telephone network. Intrigued? The IEEE, the successor of the AIEE, just published an article about it.

This epic event stretched telephone lines over 6,500 km, using 150,000 poles and 5,000 switches, linking major hubs like Atlanta, Boston, Chicago, and San Francisco. John J. Carty banged the gavel at 8:30 p.m., kicking off a meeting in which engineers listened in through seat-mounted receivers—no buffering or “Can you hear me?” moments. Even President Woodrow Wilson joined, sending a congratulatory telegram. The meeting featured “breakout sessions” with local guest speakers, and attendees in muted cities like Denver sent telegrams, old-school Zoom chat style.

The event included musical interludes with phonograph recordings of patriotic tunes—imagine today’s hold music, but gloriously vintage. Despite its success, this wonder of early engineering vanished from regular practice until our modern virtual meetings.

We wonder if Isaac Asimov knew about this when he wrote about 3D teleconferencing in 1953. If you find yourself in many virtual meetings, consider a one-way mirror.

Playing Chess Against LLMs And The Mystery Of Instruct Models

At first glance, trying to play chess against a large language model (LLM) seems like a daft idea, as its weighted nodes have, at most, been trained on some chess-adjacent texts. It has no concept of board state, stratagems, or even whatever a ‘rook’ or ‘knight’ piece is. This daftness is indeed demonstrated by [Dynomight] in a recent blog post (Substack version), where the Stockfish chess AI is pitted against a range of LLMs, from a small Llama model to GPT-3.5. Although the outcomes (see featured image) are largely as you’d expect, there is one surprise: the gpt-3.5-turbo-instruct model, which seems quite capable of giving Stockfish a run for its money, albeit on Stockfish’s lower settings.

Each model was given the same query, telling it to be a chess grandmaster, to use standard notation, and to choose its next move. The stark difference between the instruct model and the others calls investigation. OpenAI describes the instruct model as an ‘InstructGPT 3.5 class model’, which leads us to this page on OpenAI’s site and an associated 2022 paper that describes how InstructGPT is effectively the standard GPT LLM model heavily fine-tuned using human feedback.

Continue reading “Playing Chess Against LLMs And The Mystery Of Instruct Models”