Z80 I/O Madness

While the 8080 started the personal computer revolution, the Z80 was quickly a winner because it was easier to use and had more capabilities. [Noel] found out though that the Z80 OUT instruction is a little odd and, in fact, some of the period documentation was incorrect.

Many CPUs used memory-mapped I/O, but the 8080 and Z80 had dedicated I/O addressing pins and instructions so you could fill up the memory map with actual memory and still have some I/O devices. A quick look in the famous Zak’s book on Z80 programming indicates that an instruction like OUT (C),A would write the A register to the output device indicated by the BC register pair (even though the instruction only mentions C. However, [Noel] missed the note about the B register and saw in the Zilog documentation that it did. Since he didn’t read the note in the Zak’s book until later, he assumed it was a discrepancy. Therefore, he went to the silicon to get the correct answer.

Breadboarding a little Z80 system allowed him to look at the actual behavior of the instruction. However, he also didn’t appreciate the syntax of the assembly language statements. We’ve done enough Z80 assembly that none of it struck us as particularly crazy, especially since odd instruction mnemonics were the norm in those days.

Still, it was interesting to see him work through all the instructions. He then looks at how Amstrad used or abused the instructions to do something even stranger.

If you want to breadboard a minimal Z80 system, consider this one. If you enjoy abuse of the Z80 I/O system, you don’t want to miss this Z80 hack for “protected mode.”

Continue reading “Z80 I/O Madness”

This Week In Security: Gitlab, VMware, And PixeFAIL

There’s a Gitlab vulnerability that you should probably pay attention to. Tracked as CVE-2023-7028, this issue allows an attacker to specify a secondary email during a the password reset request. Only one email has to match the one on record, but the password reset link gets sent to both emails. Yikes!

What makes this worse is there is already a Proof of Concept (PoC) released, and it’s a trivial flaw. In an HTTP/S post containing the password reset request, just include two email addresses. Thankfully, a fix is already out. Versions 16.7.2, 16.6.4, and 16.5.6 contain this patch, as well as fixes for a flaw that allowed sneaking unauthorized changes into a previously approved merge request, and an issue with Slack and Mattermost where slash commands could be spoofed.

VMware

We don’t want to over-dramatise this vulnerability, but VMware is calling it an emergency. This one affects VMware vRealize and Aria Automation. According to the the CVSS calculator, it’s a low complexity network flaw, but does require at least some privileges. Hopefully more information will come out about this vulnerability, but for now that’s about all we know.

Continue reading “This Week In Security: Gitlab, VMware, And PixeFAIL”

Haier Threatens Legal Action Against Home Assistant Plugin Developer

Appliance manufacturer Haier has been integrating IoT features into their newer products, and as is so common these days, users are expected to install their “hOn” mobile application to access them. Not satisfied with that limitation, [Andre Basche] reverse engineered the protocol used by the app, and released a Python library and associated Home Assistant plugin to interface with a wide array of Haier appliances, which includes brands like Hoover, Candy, GE Appliances and others.

Unfortunately, it looks like his efforts have gotten him into a bit of legal hot water. In an issue recently opened on the project’s GitHub page, [Andre] explains the circumstances and legal options that have led him to consider pulling the repositories completely — mostly due to the cost of mounting a legal defense to the cease & desist from Haier Europe.

What’s ironic here is that Haier has been part of the Connectivity Standard Alliance (CSA) since 2022, whose goal is to ‘promote universal open IoT standards’, including Matter.

It’s possible that a legal defense will be mounted against this C&D from Haier within the coming days. Yet regardless of the outcome here, it remains problematic that these IoT-enabled Haier appliances are connected to the Haier servers. Ideally they would be controlled locally, which is the goal of projects like [Miguel Ángel López Vicente]’s ESP Haier, that uses an ESP8266 to connect Haier AC units to the local WiFi and e.g. HA instances, all without requiring internet access.

This is sadly just one more example of why building your own off-line smart home can be such an incredible struggle.

Thanks to [Ar3itrary] for the tip.

Cute Brass Lunar Lander Is A Neat Little Environment Monitor

Sometimes form can make a project more attractive than its simple function. [Mohit Bhoite]’s free-form builds are great examples of this. His latest effort is a gorgeous little device that displays environmental readings, and it’s shaped like a lunar lander. (Nitter) Just exquisite!

The device is based around a Seeedstudio XIAO nRF52840 dev board. It’s hooked up to a BME280 sensor which delivers temperature, humidity and air pressure readings from the immediate environment. These readings are displayed on a tiny 128×32 OLED display, along with the current time. Power is via a compact 14250 lithium cell.

So far, so simple, but the real magic is in the housing. It’s a wireframe lunar lander lookalike which [Mohit] put together using brass wire and some careful soldering. It adds so much to the build, which wouldn’t be nearly as attractive if just assembled on a PCB. It’s not his first rodeo, either. He previously built a cute device (Nitter) with an animated face in 2019 using similar techniques; it used a CCS811 gas sensor to detect air quality.

Often, we find ourselves falling most in love with devices that please the eye. [Mohit] certainly demonstrates a great skill in building things that fit this brief. Sometimes, it only takes a bit of thought and careful application of the mind to bring a beautiful aesthetic to your projects, and the results can be most rewarding. Try his Hackaday Supercon talk if you want to learn more. Continue reading “Cute Brass Lunar Lander Is A Neat Little Environment Monitor”

Don’t Panic: A Cooperative Bomb Defusing Game

[Heath Paddock] wanted to confound his friends with a game that mimics an escape room in a box. About six months after starting, he had this glorious thing completed. It’s a hardware version of a game called Keep Talking and Nobody Explodes where players have five minutes to defuse a suitcase bomb. This implementation requires at least two players, one with the box-bomb itself, and one who holds all the knowledge but can’t see the box-bomb to defuse it.

The wiring of the Mastermind module.

[Heath]’s version has twice as many modules as the original game, each hand-wired one driven by an Arduino. One of the modules is an LED maze. There are two green anchor LEDs in one of six configurations, and and blue and a red LED.

The object is to move the blue LED next to the red one without touching any walls. Of course, the box-holder can’t see the walls and must describe the configuration of the anchor LEDs to their partner in order to get started.

All of the modules are quite different, which likely makes for an extremely fun and challenging five minutes. [Heath] reports that getting inter-module communication down was a long road. Eventually, [Heath] settled on a mesh network configuration and connected everything in a big loop. Be sure to check out the walk-through video after the break.

This isn’t the first time we’ve seen a hardware implementation of this game. Here’s one that uses a Raspberry Pi.

Continue reading “Don’t Panic: A Cooperative Bomb Defusing Game”

How To Spend A Million Dollars On The Ultimate Stereo

We’ve all seen the excesses that the Golden Ears set revel in; the five-figure power conditioning boxes, the gold-plated HDMI cables. As covered by the Washington Post, however, [Ken Fritz] may have gone farther than most. Before he passed away, he estimated that he spent a million dollars on the greatest possible hi-fi setup he could imagine.

There’s plenty of hardcore gear in the rig. Massive cabinets loaded with carefully-tuned speaker drivers. A $50,000 record player built into a 1,500-pound weighted base for the utmost in stability and vibration resistance. Expensive cartridges, top-tier reel-to-reel decks, and amplifiers worth more than most used cars.

As the piece explores, [Fritz] knew that none of that was enough. Sound is all about the space as much as it is the equipment. Thus, the family home itself was transformed to become the ultimate listening environment in turn. The listening room got everything from concrete floors and its own HVAC and electrical systems. Much of the equipment was custom built to avoid wasting money on overpriced name-brand gear. The story of the kit was also the subject of a documentary shared online, by the name of One Man’s Dream.

The piece examines what goes into a top-tier setup like this, while also exploring the human cost that [Fritz’s] passion had on him and his family. The ending is sad and brutal in a way you wouldn’t think a story about hi-fi gear ever could be.  It’s an education in more ways then one, and teaches us that it’s worth keeping an eye on the rest of our lives while pursuing what we enjoy the most. Video after the break.

Continue reading “How To Spend A Million Dollars On The Ultimate Stereo”

Turning A 1:150 Scale Model Car Into A Real Driving Car With Lights

Closing up the remotely controlled 1:150 scale model car. (credit: diorama111)

For many people having a miniature version of something like a car is already a miracle in itself, but there’s always the possibility to take matters a bit further, as YouTube channels like [diorama111] demonstrate. In this particular case, they took a 1:150 scale model of a Nissan Micra and installed a microcontroller, battery, remote steering and front, rear and indicator lights. Considering the 24.5 x 11.4 x 10.5 mm (LxWxH) size of the scale model, this is no small feat.

The original plastic bottom and wheels are removed, and replaced with a metal frame, as well as steerable front wheels that have a neodymium magnet attached to follow a metal guidance track that can be underneath the road surface. For the brains an ATtiny1616 MCU in QFN format is used to receive commands from the PIC79603 infrared receiver module and drive the motor attached to the rear axle via a DRV8210 motor controller IC. The remaining MCU pins are mostly used for turning the LEDs on the lights and signals on or off.

In the video the miniscule RC car is driven around a course with traffic lights, which gives a good impression of how this could be used in a large scale model of a city, with a hidden rail system to determine car routes. As for keeping the 30 mAh Li-Po battery charged, there’s a charge port on the bottom, but at these low current rates you could have hidden conductive charging points throughout the route as well, assuming you can fit a small enough charging coil in this little space.

(Thanks to [Keith Olson] for the tip)

Continue reading “Turning A 1:150 Scale Model Car Into A Real Driving Car With Lights”