Amstrad On An FPGA

If you are from the United States and of a certain age, it is very likely you owned some form of Commodore computer. Outside the US, that same demographic was likely to own an Amstrad. The Z80-based computers were well known for game playing. [Freemac] implemented a working Amstrad CPC6128 using a Xilinx FPGA on a NEXYS2 demo board.

The wiki posting is a bit long, but it covers how to duplicate the feat, and also gives technical details about the design. It also outlines the development process used ranging from starting with a simple Z80 emulation and moving on to more sophisticated attempts. You can see a video of the device below.

Continue reading “Amstrad On An FPGA”

Browsing Forth

Forth has a strong following among embedded developers. There are a couple of reasons for that. Almost any computer can run Forth, even very small CPUs that would be a poor candidate for running programs written in C, much less host a full-blown development environment. At its core, Forth is very simple. Parse a word, look the word up in a dictionary. The dictionary either points to some machine language code or some more Forth words. Arguments and other things are generally carried on a stack. A lot of higher-level Forth constructs can be expressed in Forth, so if your Forth system reaches a certain level of maturity, it can suddenly become very powerful if you have enough memory to absorb those definitions.

If you want to experiment with Forth, you probably want to start learning it on a PC. There are several you can install, including gForth (the GNU offering). But sometimes that’s a barrier to have to install some complex software just to kick the tires on a system.

We have all kinds of other applications running in browsers now, why not Forth? After all, the system is simple enough that writing Forth in Javascript should be easy as pie. [Brendanator] did just that and even enhanced Forth to allow interoperability with Javascript. The code is on GitHub, but the real interesting part is that you can open a Web browser and use Forth.

Continue reading “Browsing Forth”

Ditch OpenSCAD For C++

There’s an old saying that a picture is worth a thousand words. If you’ve ever tried to build furniture or a toy with one of those instructions sheets that contains nothing but pictures, you might disagree. 3D design is much the same for a lot of people. You think you want to draw things graphically, but once you start doing complex things and making changes, parametric modeling is the way to go. Some CAD tools let you do both, but many 3D printer users wind up using OpenSCAD which is fully parametric.

If you’ve used OpenSCAD you know that it is like a simple programming language, but with some significant differences from what you normally use. It is a good bet that most Hackaday readers can program in at least one language. So why learn something new? A real programming language is likely to have features you won’t find readily in OpenSCAD that, in theory, ought to help with reuse and managing complex designs.

I considered OpenJSCAD. It is more or less OpenSCAD for JavaScript. However, JavaScript is a bit of a scripting language itself. Sure, it has objects and some other features, but I’m more comfortable with C++. I thought about using the OpenCSG library that OpenSCAD uses, but that exposes a lot of detail.

Instead, I turned to a project that uses C++ code to generate OpenSCAD output, OOML (the Object Oriented Mechanics Language)). OpenSCAD does the rendering, exporting, and other functions. Unfortunately, the project seems to have stalled a few years back and the primary web-based documentation for it seems to be absent. However, it is very usable and if you know how to find it, there is plenty of documentation available.

Why not OpenSCAD?

Continue reading “Ditch OpenSCAD For C++”

Listen To The Globe

There was a time when electronic hackers (or hobbyist, enthusiasts, geeks, or whatever you want to be called) were better than average at geography. Probably because most of us listened to shortwave radio or even transmitted with ham radio gear. These days, if you try listening to shortwave, you have to be pretty patient. Unless you want to hear religious broadcasters or programming aimed at the third world, there’s not much broadcast traffic to listen to anymore

The reason, of course, is the Internet. But we’ve often thought that it isn’t quite the same. When you tuned in London on your homebrew regenerative receiver, you wanted to know where that voice was coming from, and you couldn’t help but learn more about the area and the people who live there. Tune into a BBC live stream on the Internet, and it might as well be any other stream or podcast from anywhere in the world.

The New Shortwave

Maybe we need to turn kids on to Radio Garden. Superficially, it isn’t a big deal. Another catalog of streaming radio stations. You can find plenty of those around. But Radio Garden has an amazing interface (and a few other unique features). That interface is a globe. You can see dots everywhere there’s a broadcast station and with a click, you are listening to that station. The static and tuning noises are a nice touch.

Continue reading “Listen To The Globe”

Retrocomputing For $4 With A Z80

Sure, you’d like to get in on all the retrocomputing action you read about on Hackaday. But that takes a lot of money to buy vintage hardware, right? Sure, you can build your own, but who has time for a big major project? [Just4Fun] has a Hackaday.io project that disproves those two myths and gives you no more excuses. His retrocomputer? A 4MHz Z80 that can run BASIC with 64K of RAM, all built on a breadboard with 4 ICs. The cost? About $4.

Of course, that’s with some power shopping on eBay and assuming you have the usual stuff like breadboards, wire, small components, and a power supply. While it will gall the anti-Arduino crowd, [Just4Fun] uses an Arduino (well, an ATmega32A with the Arduino bootloader) to stand in for a host of Z80 peripheral devices. You can see a video of the device below, and there are more on the Hackaday.io project page.

Continue reading “Retrocomputing For $4 With A Z80”

Rebonding An IC To Save Tatakae! Big Fighter

Preserving old arcade games is a niche pastime that can involve some pretty serious hacking skills. If the story here were just that someone pulled the chip from a game, took it apart, and figured out the ROM contents, that’d be pretty good. But the real story is way stranger than that.

Apparently, a bunch of devices were sent to a lab to be reverse engineered and were somehow lost. Nearly ten years later, the devices reappeared, and another group has taken the initiative to recover their contents. The chip in question was part of a 1989 arcade game called Tatakae! Big Fighter, and it had been hacked. Literally hacked. Like with an ax or something worse.

You can read the story of how the contents were recovered. You shouldn’t try this at home without a vent hood and other safety gear. However, they did rebond wires to the device using a clever trick and no exotic equipment (assuming you have some fairly good optical microscopes and a microprobe on a lens positioner).

Continue reading “Rebonding An IC To Save Tatakae! Big Fighter”

8008 Exposed

[Ken Shirriff] is no stranger to Hackaday. His latest blog post is just the kind of thing we expect from him: a tear down of the venerable 8008 CPU. We suspect [Ken’s] earlier post on early CPUs pointed out the lack of a good 8008 die photo. Of course, he wasn’t satisfied to just snap the picture. He also does an analysis of the different constructs on the die.

Ever wonder why the 8008 ALU is laid out in a triangle shape? In all fairness, you probably haven’t, but you might after you look at the photomicrograph of the die. [Ken] explains why.

Continue reading “8008 Exposed”