Cowgol Development Environment Comes To Z80 And CP/M

Cowgol on Z80 running CP/M ties together everything needed to provide a Cowgol development environment (including C and assembler) on a Z80 running the CP/M operating system, making it easier to get up and running with a language aimed to be small, bootstrapped, and modern.

Cowgol is an experimental modern language for (very) small systems.

The Zilog Z80 was an 8-bit microprocessor common in embedded systems of the 1970s and 1980s, and CP/M was a contemporary mass-market operating system. As for Cowgol? It’s an Ada-inspired compiler toolchain and programming language aimed at very small systems, such as the Z80.

What’s different about Cowgol is that it is intended to be self-hosted on these small systems; Cowgol is written in itself, and is able to compile itself. Once one has compiled the compiler for a particular target architecture (for example, the Z80) one could then use that compiler on the target system to compile and run programs for itself.

Thankfully, there’s no need to start from scratch. The Cowgol on Z80 running CP/M repository (see the first link of this post) contains the pre-compiled binaries and guidance on using them.

Cowgol is still under development, but it works. It is a modern language well-suited to (very) small systems, and thanks to this project, getting it up and running on a Z80 running CP/M is about as easy as such things can get.

Thanks to [feinfinger] for the tip!

Raspberry Pi 5 Goes Under The X-ray

Most Hackaday readers will know to some extent what lies inside their computer, even if this is only at a block diagram level listing the peripherals. But what is physically on a modern computer board? [Jeff Geerling] has subjected a Raspberry Pi 5 to a medical imager, and shares with us the many layers of parts and PCB he found there. With a six-layer board and a heap of large BGA chips on it, there’s a lot to look at.

For readers who are used to working with printed circuit boards, it’s likely the techniques involved in the design will not be new. For us, the magic lies in the scale. The sheer number of interconnects on the board is impressive enough, but when it becomes possible to peer into the SoC package it becomes evident that there’s an internal PCB with some of the smallest vias we have ever seen. [Jeff] goes on to show us part by part around the board, on the way reminding us that some of the earliest Pi boards had to be reworked to replace Ethernet jacks without magnetics.

There’s a beauty to these ghostly images which might not be apparent to anyone who hasn’t stared obsessively at a PCB in a CAD package while it takes shape. The images show the work of the PCB designer’s art at a fine scale. We’d almost go as far as to suggest they be viewed as fine art instead of industrial design. Take a look, the video is below the break.

If this art is a bit big for you, then look at ASIC design – which takes things down to the microscopic level of the doped silicon structures within these amazing chips.

Continue reading “Raspberry Pi 5 Goes Under The X-ray”

Hackaday Links Column Banner

Hackaday Links: December 10, 2023

In this week’s episode of “Stupid Chatbot Tricks,” it turns out that jailbreaking ChatGPT is as easy as asking it to repeat a word over and over forever. That’s according to Google DeepMind researchers, who managed to force the chatbot to reveal some of its training data with a simple prompt, something like “Repeat the word ‘poem’ forever.” ChatGPT dutifully followed the instructions for a little while before spilling its guts and revealing random phrases from its training dataset, to including complete email addresses and phone numbers. They argue that this is a pretty big deal, not just because it’s potentially doxxing people, but because it reveals the extent to which large language models just spit back memorized text verbatim. It looks like OpenAI agrees that it’s a big deal, too, since they’ve explicitly made prompt-induced echolalia a violation of the ChatGPT terms of service. Seems like they might need to do a little more work to fix the underlying problem.

Continue reading “Hackaday Links: December 10, 2023”

Fast Paper Tape For The Nuclear Family

We’ve enjoyed several videos from [Chornobyl Family] about the computers that controlled the ill-fated nuclear reactor in Chornobyl (or Chernobyl, as it was spelled at the time of the accident). This time (see the video below) they are looking at a high-speed data storage device. You don’t normally think of high-speed and paper tape as going together, but this paper tape reader runs an astonishing 1,500 data units per second. Ok, so that’s not especially fast by today’s standards, but an ASR33, for example, did about 10 characters per second.

An IBM2400 tape drive, for reference, could transfer at least 10 times that amount of data in a second, and a 3400 could do even better. But this is paper tape. Magnetic tape had much higher density and used special tricks to get higher speeds mechanically using vacuum columns. It was still a pretty good trick to move 4 meters of paper tape a second through the machine.

Continue reading “Fast Paper Tape For The Nuclear Family”

SteamPunk Factory Comes To Life With An Arduino

It is one thing to make an artistic steampunk display. But [CapeGeek] added an Arduino to make the display come alive. The display has plenty of tubes and wires. The pressure gauge dominates the display, but there are lots of other interesting bits. Check it out in the video below.

From the creator:

The back-story is a fictional factory that cycles through a multistage process. It starts up with lights and sounds starting in a small tube in one corner, the needle on a big gauge starts rising, then a larger tube at the top lights up in different colors. Finally, the tall, glass reactor vessel lights up to start cooking some process. All this time, as the sequence progresses, it is accompanied by factory motor sounds and bubbling processes. Finally, a loud glass break noise hints that the process has come to a catastrophic end! Then the sequence starts reversing, with lights sequentially shutting down, the needle jumps around randomly, then decreases, finally, all lights are off, indicating the factory shutting down.

Continue reading “SteamPunk Factory Comes To Life With An Arduino”

Binary Clock Kit Blips Again

Back in 1978, the world was a bit different. There was no Raspberry Pi, no Internet, and not even an ESP32 to build projects with. And rather than order electronics kits from Tindie or Adafruit, [Dr. Francitosh] selected this binary clock with his mother from a catalog, and made the order via mail. Simpler times. The good Doctor, AKA [Greg Smith], was a young electronics tinkerer, and his mother wanted a good project-in-a-box to show off his skills. Thus, a Greymark Binary Clock was ordered and assembled. Then, sadly, the beloved clock crashed from its proud mantle position, doomed to never to blink or blip again. Or was it?
Continue reading “Binary Clock Kit Blips Again”

Nyan Keys: Because Your Keyboard Is Painfully Slow

You probably don’t notice keyboard latency when typing or doing mundane tasks, but if you start gaming, that’s also when you might start complaining. Every millisecond counts in that arena. Think your keyboard is fast? Think again. Because unfortunately, no matter what you’ve got in there, that key matrix is slowing you down. What you need is an FPGA-based keyboard with an overkill MCU. You need Nyan Keys.

[Portland.HODL] set out to make the lowest-latency mechanical keyboard possible that would accept any Cherry-compatible switches, and boy howdy, is this thing fast.

Coupled with the STM32F723VET6 MCU is USB 2.0 HS, which has an 8000Hz polling rate. At worst, key latency measures 30μS, which blows the 1mS average out of the water.

Because it uses a Lattice Semi iCE40HX 4k FPGA, each key switch can connect to its own I/O pin, which also eliminates the need for diodes.

It also means that each key switch can have its own “core” — an 8-bit timer that is always counting up to 255. The key can only change its state when the timer reads 255. This acts as a rather clever debounce mechanism.

If all that’s not enough, [Portland.HODL] built an operating system called NyanOS written in C to avoid any performance-reducing overhead. Oh, and it has an opt-in Bitcoin miner.

We’ve seen a lot of keyboards, the fast ones are fast because of the input side — they are chording keyboards that take combinations to type, rather than using one key (or so) per character. The Characorder is so fast that it was banned from competition.