Hackaday Links Column Banner

Hackaday Links: September 27, 2020

Hardly a week goes by without a headline screaming about some asteroid or another making a close approach to Earth; it’s only by reading the fine print that we remember what an astronomer’s definition of “close” means. Still, 2020 being what it is, it pays to stay on top of these things, and when you do the story can get really interesting. Take asteroid 2020 SO, a tiny near-Earth asteroid that was discovered just last week. In a couple of weeks, 2020 SO will be temporarily captured into Earth orbit and come with 50,000 km near the beginning of December. That’s cool and all, but what’s really interesting about this asteroid is that it may not be a rock at all. NASA scientists have reverse-engineered the complex orbit of the object and found that it was in the vicinity of Earth in late 1966. They think it may be a Centaur booster from the Surveyor 2 moon mission, launched in September 1966 in the runup to Apollo. The object will be close enough for spectral analysis of its. surface; if it’s the booster, the titanium dioxide in the white paint should show up loud and clear.

Lasers are sort of forbidden fruit for geeks — you know you can put an eye out with them, and still, when you get your hands on even a low-power laser pointer, it’s hard to resist the urge to shine it where you shouldn’t. That includes into the night sky, which as cool as it looks could be bad news for pilots, and then for you. Luckily, friend of Hackaday Seb Lee-Delisle has figured out a way for you to blast lasers into the night sky to your heart’s content. The project is called Laser Light City and takes place in Seb’s home base of Brighton int he UK on October 1. The interactive installation will have three tall buildings with three powerful lasers mounted on each; a smartphone app will let participants control the direction, shape, and color of each beam. It sounds like a load of fun, so check it out if you’re in the area.

We got an interesting story from a JR Nelis about a quick hack he came up with to help his wife stay connected. The whole post is worth a read, but the short version of the story is that his wife has dementia and is in assisted living. Her landline phone is her social lifeline, but she can’t be trusted with it, lest she makes inappropriate calls. His solution was to modify her favorite cordless phone by modifying the keypad, turning it into a receive-only phone. It’s a sad but touching story, and it may prove useful to others with loved ones in similar situations.

We pay a lot of attention to the history of the early computer scene, but we tend to concentrate on computers that were popular in North America and the UK. But the Anglo-American computers were far from the only game in town, and there’s a new effort afoot to celebrate one of the less well-known but still important pioneer computers: the Galaksija. Aside from having a cool name, the Yugoslavian Z80 computer has a great story that will be told in documentary form, as part of the crowdsourced Galaksija project. The documentary stars our own Voja Antonic, who was key to the computer’s development. In addition to the film, the project seeks to produce a replica of the Galaksija in kit form. Check out the Crowd Supply page and see if it’s something you’re willing to back.

There’s an interesting new podcast out there: the Pick, Place, Podcast. Hosted by Chris Denney and Melissa Hough, it comes out every other week and is dedicated to the electronic assembly industry. They’ve currently got eight episodes in the can ranging from pick and place assembly to parts purchasing to solder paste printing. If you want to learn a little more about PCB assembly, this could be a real asset. Of course don’t forget to make time for our own Hackaday Podcast, where editors Mike and Elliot get together to discuss the week in hardware hacking.

Assembly Language For Real

We all probably know that for ultimate control and maximum performance, you need assembly language. No matter how good your compiler is, you’ll almost always be able to do better by using your human smarts to map your problem onto a computer’s architecture. Programming in assembly for PCs though is a little tricky. A lot of information about PC assembly language dates back from when assembly was more common, but it also covers old modes that, while still available, aren’t the best answer for the latest processors. [Gpfault] has launched a series on 64-bit x86 assembly that tries to remedy that, especially if you are working under Windows.

So far there are three entries. The first covers setting up your toolchain and creating a simple program that does almost nothing. But it is a start.

Continue reading “Assembly Language For Real”

3D On The ZX Spectrum 48K

There are times when a project becomes such a big part of a maker’s life that they find themselves revisiting it even years later. [Thanassis] combined this phenomena with his love for the ZX Spectrum when he ported one of his old 3D rendering projects to the ZX Spectrum 48K. The video below shows the result, and they speak for themselves.

The roots of this project go back around three years, when [Thanassis] posted a similar project for the ATMega328 which employed fixed point math tricks for achieving the graphics. The code needed to be even tighter to run on the Spectrum, eventually getting boiled down to just a handful of calculations. This got the proof of concept working with the z88dk compiler, but it wasn’t quite fast enough.

In the end, hand assembly optimizations nearly doubled the performance to a blistering 10 frames per second. There’s also a version that kicks it all the way up to 40 FPS, but only if you give it a few minutes to do the calculations ahead of time. With a few teaks and the right display, this project could produce some very cool retro visuals.

Continue reading “3D On The ZX Spectrum 48K”

Gaming In Different Languages

One of the perks of using older hardware is its comparative simplicity and extensive documentation. After years or decades of users programming on a platform, the amount of knowledge available for it can become extensive. This is certainly the case with the 6502 microprocessor, used in old Apple computers and some video game systems from the ’80s. The extensive amount of resources available make it a prime candidate in exploring various programming languages, and their advantages and disadvantage.

This project looks into those differences using a robot game, which has been programmed four different ways in three languages. [Joey] created the game in Python first and then began to port it to the 65C02, a CMOS variant of the 6502. The first iteration is its assembly language, and then a second iteration with optimized assembly code. From there, he ports it to C and then finally to Forth. Each version of the game is available to play in a browser using an emulator to run the 6502 hardware.

Since the games run in the browser, other tools are available to examine the way the game runs in each language. Registers can be viewed in real time, as well as the values stored in the memory. It’s an interesting look at an old piece of hardware and of its inner workings. For an even deeper dive into the 6502, it’s possible to build a working computer on breadboards using one.

Classic 8-Bit Computing The Atari Way

In the classic gaming world, even before the NES arrived on the scene, there was no name more ubiquitous than Atari. Their famous 2600 console sold almost as many units as the Nintendo 64, but was released nearly 20 years prior. In many ways, despite making mistakes that led to the video game crash of the early 80s, Atari was the first to make a path in the video game industry. If you want to explore what the era of 8-bit computing was like in the Atari age, a new resource is compiling all kinds of Atari-based projects.

This site has everything, from assembling Atari 8-bit computers based on the 6502 chip, to programming them in BASIC and assembly, to running official and homebrew games on the hardware itself. This was put together by [Jason H. Moore] who grew up around Atari systems and later, their home computers. He even puts his biomedical experience to use here by designing a game for the 2600 called Gene Medic which can be found at the site as well.

If you grew up in the 70s and 80s and are looking for a bit of Atari nostalgia this site is the place to go. It’s even worth a visit from younger folks as well since the 8-bit world is a lot easier to get immersed in and learn the fundamentals of computer science. Of course, if you want to take it the other direction, it’s possible to modify the old Atari to add a few modern conveniences.

Photo via Evan-Amos

PCB Bring-Up Hack Chat

Join us on Wednesday, April 15 at noon Pacific for the PCB Bring-Up Hack Chat with Mihir Shah and Liam Cadigan!

The printed circuit design process is pretty unique among manufacturing processes. Chances are pretty good that except for possibly a breadboard prototype, the circuit that sits before you after coming back from assembly has only ever existed in EDA software or perhaps a circuit simulator. Sure, it’s supposed to work, but will it?

You can — and should — do some power-off testing of new boards, but at some point you’re going to have to flip the switch and see what happens. The PCB bring-up process needs to be approached carefully, lest debugging any problems that crop up become more difficult than need be. Mihir and Liam from inspectAR will discuss the bring-up process in depth, offering tips and tricks to make things go as smoothly as possible, as well as demonstrating how the inspectAR platform can fit into that process, especially with teams that are distributed across remote sites. If your board releases the Magic Smoke, you’ll want to know if it’s your design or an assembly issue, and an organized bring-up plan can be a big help.

Note: Liam will be doing a simulcast web demo of inspectAR via Zoom. ​

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, April 15 at 12:00 PM Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

Continue reading “PCB Bring-Up Hack Chat”

Tony Brooker And Autocode – The First High-level Language

The field of computer science has undeniably changed the world for virtually every single person by now. Certainly for you as Hackaday reader, but also for everyone around you, whether they’re working in the field themselves, or are simply enjoying the fruits of convenience it bears. What was once a highly specialized niche field for a few chosen people has since grown into a discipline that not only created one of the biggest industry in modern times, but also revolutionized every other industry, some a few times over.

The fascinating part about all this is the relatively short time span it took to get here, and with that the privilege to live in an era where some of the pioneers and innovators, the proverbial giants whose shoulders every one of us is standing on, are still among us. Sadly, one of them, [Tony Brooker], a pioneer of the early programming language concept known as Autocode, passed away in November. Reaching the remarkable age of 94, the truly sad part however is that this might be the first time you hear his name, and there’s a fair chance you never heard of Autocode either.

But Autocode was probably the first high-level computer language, and as such played a fundamental role in the development of whatever you’re coding in today. So to honor the memory of [Tony Brooker], let’s remember the work he did with Autocode, and the leap in computer science history that it represented.

Continue reading “Tony Brooker And Autocode – The First High-level Language”