Digital filters are always an interesting topic, and they are especially attractive with FPGAs. [Pabolo] has been working with them in a series of blog posts. The latest covers an 8th order FIR filter in Verilog. He covers some math, which you can find in many places, but he also shows how an implementation maps to DSP slices in a device. Then to reduce the number of slices, he illustrates folding which trades delay time for slice usage.
Folding takes a multi-stage parallel multiplication and breaks it into fewer multiplications done over a longer period of time. This reuses slices to reduce the number required for high-order filters.
In case you wanted to run WordStar on your Mac, [Tom Harte] offers CP/M for OS/X, and it looks like it would be a lot of fun. Of course you might be happier running Zork or Turbo Pascal, and you can do that, too.
There are plenty of Z80 emulators that can run CP/M, but what we found most interesting about this one is that it is written in Objective C, a language with a deep history in the Mac and NeXT worlds.
There are a lot of keyboards to choose from, and a quick trip through some of the forums will quickly show you how fanatical some people can be about very specific styles or switches. [Crdotson] doesn’t seem to be too far down the rabbit hole in that regard, but he does have a keyboard that he really likes despite one small quirk: it’s built for Mac, and some of the modifier keys aren’t laid out correctly for Windows. Since Windows has limited (and poor) options for software keymapping, he took an alternative route and built a keymapper in hardware instead.
The build uses a Raspberry Pi as a go-between from the keyboard to his computer. The Pi watches the USB bus using usbmon, which allows inspection of the packets and can see which keys have been pressed. It then passes those keypresses through to the computer. His only modification to the keyboard mapping is to swap the Alt and Super (Windows) keys for his keyboard of choice, although using this software would allow any other changes to be made as well. Latency is only on the order of a few microseconds, which is not noticeable for normal use cases.
While we have seen plenty of other builds around that can map keyboards in plenty of custom ways, if you don’t have the required hardware for a bespoke solution it’s much more likely that there’s a Raspberry Pi laying around that can do the job instead. There are a few issues with the build that [crdotson] is planning to tackle, though, such as unplugging the device while a key is being pressed, which perpetually sends that keystroke to the computer without stopping. But for now it’s a workable solution for his problem.
The holy grail of computer languages is to write code once and have it deploy effortlessly everywhere. Java likes to take credit for the idea, but UCSD P-Code was way before that and you could argue that mainframes had I/O abstraction like Fortran unit numbers even earlier. More modern efforts include Qt, GTK, and other things. Naturally, all of these fall short in some way. Now Google enters the fray with Flutter.
Flutter isn’t new, but in the past, it only handled Android and iOS. Now it can target desktop platforms and can even produce JavaScript. We haven’t played with the system enough to say how successful it is, but you can try it in your browser if you want some first-hand experience.
We know that some in the audience will take issue with calling a Raspberry Pi in a 3D-printed case the “World’s Smallest iMac”, but you’ve got to admit, [Michael Pick] has certainly done a good job recreating the sleek look of the real hardware. While there might not be any Cupertino wizardry under all that PLA, it does have a properly themed user interface and the general aversion to external ports and wires that you’d expect to see on an Apple desktop machine.
The clean lines of this build are made possible in large part by the LCD itself. Designed specifically for the Raspberry Pi, it offers mounting stand-offs on the rear, integrated speakers, a dedicated 5 V power connection, and a FFC in place of the traditional HDMI cable. All that allows the Pi to sit neatly on the back of the panel without the normal assortment of awkward cables and adapters going in every direction. Even if you’re not in the market for a miniature Macintosh, you may want to keep this display in mind for your future Pi hacking needs.
Well, that’s one way to do it.
Despite this clean installation, the diminutive Raspberry Pi was still a bit too thick to fit inside the 3D-printed shell [Michael] designed. So he slimmed it down in a somewhat unconventional, but admittedly expedient, way. With a rotary tool and a steady hand, he simply cut the double stacked USB ports in half. With no need for Ethernet in this build, he bisected the RJ-45 connector as well. We expect some groans in the comments about this one, but it’s hard to argue that this isn’t a hack in both the literal and figurative sense.
We really appreciate the small details on this build, from the relocated USB connectors to the vent holes that double as access to the LCDs controls. [Michael] went all out, even going so far as to print a little insert for the iconic Macintosh logo on the front of the machine. Though given the impressive work he put into his miniature “gaming PC” a couple months back, it should come as no surprise; clearly this is a man who takes his tiny computers very seriously.
Like many before it, this Mac 512K case was originally slated to get turned into a kitschy desktop aquarium. But its owner never found the time to take on the project, and instead gave it to [Tony Landi]. Luckily, he decided to forgo the fish and instead outfit the case with a new LCD display and Raspberry Pi to emulate Mac OS 7.5.
Mounting the LCD and associated electronics.
In the video after the break, [Tony] walks viewers through the process of mounting the new components into the nearly 30+ year old enclosure. Things are naturally made a lot easier by the fact that the modern electronics take up a small fraction of the Mac’s internal volume. Essentially the only things inside the case are the 10 inch 4:3 LCD panel, the Raspberry Pi, and a small adapter that turns the Mac’s pre-ADB keyboard into standard USB HID.
[Tony] had to design a 3D printed adapter to mount the modern LCD panel to the Mac’s frame, and while he was at it, he also came up with printable dummy parts to fill in the various openings on the case that are no longer necessary. The mock power switch on the back and the static brightness adjustment knob up front are nice touches, and the STLs for those parts will certainly be helpful for others working on similar Mac conversions.
With the hardware out of the way, [Tony] switches gears and explains how he got the emulated Mac OS environment up and running on the Raspberry Pi. Again, even if you don’t exactly follow his lead on this project, his thorough walk-through on the subject is worth a watch for anyone who wants to mess around with Apple software from this era.
In its place will be Apple’s own custom silicon, based on 64-bit ARM architecture. Apple are by no means the first to try and bring ARM chips to bear for general purpose computing, but can they succeed where others have failed?