Tridora: A Full-Custom CPU Designed For Pascal

[Sebastian Lederer] has created Tridora: an unusual stack-based CPU core intended for FPGA deployment, co-developed with its own Pascal compiler. The 32-bit word machine is unusual in that it has not one but three stacks, 16-bit instruction words, and a limited ISA, more like those of the 8-bit world. No multiply or divide instructions will be found in this CPU.

The design consists of about 500 lines of Verilog targeting the Digilent Arty-A7 FPGA board, which is based around the Xilinx Artix-7 FPGA line. [Sebastian] plans to support the Nexys A7 board, which boasts a larger FPGA array but has less RAM onboard. The CPU clocks in at 83 MHz with four clock cycles per instruction, so over 20 MIPS, which is not so shabby for a homebrew design. Wrapped around that core are a few simple peripherals, such as the all-important UART, an SD card controller and a VGA display driver. On the software side, the Pascal implementation is created from scratch with quite a few restrictions, but it can compile itself, so that’s a milestone achieved. [Sebastian] also says there is a rudimentary operating system, but at the moment, it’s a little more than a loader that’s bundled with the program image.

The Tridora Gitlab project hosts the Verilog source, an emulator (written in Golang, not Pascal) and a suite of example applications. We see quite a few custom CPUs, often using older or less popular programming languages. Here’s an FPGA-based Forth machine to get you started. Implementing programming languages from scratch is also a surprisingly common hack. Check out this from-scratch compiler for the Pretty Laughable Programming language.

A Dedicated GPU For Your Favorite SBC

The Raspberry Pi is famous for its low cost, versatile and open Linux environment, and plentiful I/O, making it a perfect device not only for its originally-intended educational purposes but for basically every hobbyist from gardeners to roboticists to amateur radio operators. Most builds tend to make use of the GPIO pins which allow easy connections to various peripherals and sensors, but the Pi also supports PCI devices which means that, in theory, it could use a GPU in much the same way that a modern computer would. After plenty of testing and development, [Jeff Geerling] brings us this custom graphics card interface for the Raspberry Pi.

The testing for all of these graphics cards has been done with a Pi Compute Module 4 and the end result is an interface device which looks much like a graphics card itself. It splits the PCI bus out onto a more familiar x16 slot connector and adds physical connections for power, USB, and Ethernet. When plugged into the carrier board, the Compute Module can be attached to any of a number of graphics cards, including the latest and highest-end of Nvidia and AMD offerings.

Perhaps unsurprisingly, though, the 4090 and 7900 cards don’t work with the Raspberry Pi. This is partially due to the 32-bit limitations of the Pi and other memory mapping issues, but even after attempting some workarounds Nvidia’s cards aren’t open-source enough to test properly (although the card is recognized by the Pi) and AMD’s drivers crash the system even after compiling a custom kernel. [Jeff] did find an Nvidia card that worked, although it requires using the USB interface and second-hand cards are selling for around $3000 USD. For a more economical choice there are some other graphics cards that he was eventually able to get working, albeit not with perfect performance, including some of the ones we’ve seen him test already.

Continue reading “A Dedicated GPU For Your Favorite SBC”

Prusa XL Goes Big, But That’s Only Half The Story

For a few years now it’s been an open secret that Prusa Research was working on a larger printer named, imaginatively enough, the Prusa XL. Positioned at the opposite end of their product spectrum from the wildly popular Prusa Mini, this upper-tier machine would be for serious hobbyists or small companies that need to print single-part objects that were too large for their flagship i3 MK3S+ printer. Unfortunately, the global COVID-19 pandemic made it difficult for the Czech company to focus on bringing a new product to market, to the point that some had begun to wonder if we’d ever see this mythical machine.

But now, finally, the wait is over. Or perhaps, it’s just beginning. That’s because while Prusa Research has officially announced their new XL model and opened preorders for the $1,999+ USD printer, it’s not expected to ship until at least the second quarter of 2022. That’s already a pretty substantial lead time, but given Prusa’s track record when it comes to product launches, we wouldn’t be surprised if early adopters don’t start seeing their machines until this time next year.

So what do you get for your money? Well, not an over-sized Prusa i3, that’s for sure. While many had speculated the XL would simply be a larger version of the company’s popular open source printer with a few modern niceties like a 32-bit control board sprinkled in, the reality is something else entirely. While the high purchase price and ponderous dimensions of the new machine might make it a tough sell for many in the hacker and maker communities, there’s little question that the technical improvements and innovations built into the Prusa XL provide a glimpse of the future for the desktop 3D printer market as a whole.

Continue reading “Prusa XL Goes Big, But That’s Only Half The Story”

Is 32-bits Really Dead?

While some of us are still clinging onto our favorite 8-bit microprocessors, ARM announced they will be killing off the 32-bit architecture in 2022 and/or 2023. Over on the GaryExplains YouTube channel, [Gary Sims] posted a great review of the current 32- vs 64-bit state-of-affairs — not just for ARM but for Intel and AMD processors as well. And it’s a dismal outlook for you 32-bit fans.

ARM announced last Fall that there would be no more 32-bit support as of 2022, then this March they made a similar announcement but with a 2023 deadline. [Gary] tries to parse these statements, and takes an educated guess at what the disparity means (spoiler alert — he predicts that one more 32-bit core will soon be released).

[Gary] clearly breaks down the 32-bit situation by operating systems such as Linux, Windows, MacOS, Android, and iOS, and how all of these have been transitioning to 64-bits over recent years. He does a thorough job, and concludes that the transition is already well underway. And while Linux and Windows have not completely dropped 32-bit support, the writing is on the wall.

Take note, however, that this discussion regards the Cortex-A family of cores found in smart phones, tablets, computers, and powerful embedded applications like autonomous vehicles. The popular 32-bit Cortex-M family of low-cost / low-power cores that are used in so many embedded system designs will remain 32-bits for the foreseeable future.

After watching [Gary]’s presentation, if you want to learn more, check out the writeup that [Maya Posch] did on the details of the latest ARMv9 ISA a few weeks ago. Also watch this 8-bit vs 32-bit presentation by our Editor-in-Chief [Mike Szczys]. Despite being from five years ago, it is still quite applicable today. What about 16-bit MCUs — the old Intel/AMD embedded 80186 processor, the 8051 follow-ons like the 80C196, 80C251, or 8051XA, the 6502 follow-ons like the 65C816, Zilog’s Z8000, the Renesas M16C, etc. — is anyone using them anymore? If so, or if you’re using a 4-bit MCU these days, let us know in the comments below.

Continue reading “Is 32-bits Really Dead?”

Prusa Unveils New Mini 3D Printer, Shakes Up The Competition

For the last couple of years, consumer desktop 3D printer choices in the under $1,000 USD range have fallen into two broad categories: everything bellow $500 USD, and the latest Prusa i3. There are plenty of respectable printers made by companies such as Monoprice and Creality to choose from on that lower end of the scale. It wasn’t a luxury everyone could justify, but if you had the budget to swing the $749 for Prusa’s i3 kit, the choice became obvious.

Of course, that was before the Prusa Mini. Available as a kit for just $349, it’s far and away the cheapest printer that Prusa Research has ever offered. But this isn’t just some rebranded hardware, and it doesn’t compromise on the ideals that have made the company’s flagship machine the de facto open source FDM printer. For less than half the cost of the i3 MK3S, you’re not only getting most of the larger printer’s best features and Prusa’s renowned customer support, but even capabilities that presumably won’t make it to the i3 line until the MK4 is released.

Josef Průša was on hand to officially unveil his latest printer at the 2019 East Coast Reprap Festival, where I got the chance to get up close and personal with the diminutive machine. While it might be awhile before we can do a full review on the Mini, it’s safe to say that this small printer is going to have a big impact on the entry-level market.

Continue reading “Prusa Unveils New Mini 3D Printer, Shakes Up The Competition”

Smoothieboard Gets An Ambitious Update For V2

If you’ve been reading Hackaday for awhile, there’s an excellent chance you’ve seen a project or two powered by the Smoothieboard. The open source controller took Kickstarter by storm in 2013, promising to be the last word in CNC thanks to its powerful 32-bit ARM processor. Since then we’ve seen it put to use in not only the obvious applications like 3D printers and laser cutters, but also for robotic arms and pick-and-place machines. If it moves, there’s a good chance you can control it with the Smoothieboard.

But after six years on the market, the team behind this motion control powerhouse has decided it’s time to freshen things up. The Kickstarter for the Smoothieboard v2 has recently gone live and, perhaps unsurprisingly, already blown past its funding goal. Rather than simply delivering an upgraded Smoothieboard, the team has also put together a couple “spin-offs” targeting different use cases. If Smoothie v1 was King of CNC boards, then v2 is aiming to be the Royal Family.

Smoothieboard v2-Prime with breakouts

The direct successor to the original board is called v2-Prime, and it’s everything you’d expect in an update like this. Faster processor, more RAM, more flash, and improved stepper drivers. There’s also available GPIO expansion ports to connect various breakout boards, and even a header for you to plug in a Raspberry Pi. If you’re looking to upgrade your existing Smoothieboard machines to the latest and greatest, the Prime is probably what you’re after.

Then there’s the v2-Mini, designed to be as inexpensive as possible while still delivering on the Smoothieboard experience. The Mini has the same basic hardware specs as the Prime, but uses lower-end stepper drivers and deletes some of the protection features found on the more expensive model. For a basic 3D printer or laser cutter, the Mini and its projected $80 price point will be a very compelling option.

In the other extreme we have the v2-Pro, which is intended to be an experimenter’s dream come true. It features more stepper drivers, expansion ports, and even an integrated FPGA. Realistically, this board probably won’t be nearly as popular as the other two versions, but the fact that they’ve even produced it shows how committed the team is to pushing the envelope of open source motion control.

Our coverage of the original Smoothieboard campaign back in 2013 saw some very strong community response, with comments ranging from excited to dismissive. Six years later, we think the team behind the Smoothieboard has earned a position of respect among hackers, and we’re very excited to see where this next generation of hardware leads.

Continue reading “Smoothieboard Gets An Ambitious Update For V2”

The Saga Of 32-Bit Linux: Why Going 64-Bit Raises Concerns Over Multilib

The story of Linux so far, as short as it may be in the grand scheme of things, is one of constant forward momentum. There’s always another feature to implement, an optimization to make, and of course, another device to support. With developer’s eyes always on the horizon ahead of them, it should come as no surprise to find that support for older hardware or protocols occasionally falls to the wayside. When maintaining antiquated code monopolizes developer time, or even directly conflicts with new code, a difficult decision needs to be made.

Of course, some decisions are easier to make than others. Back in 2012 when Linus Torvalds officially ended kernel support for legacy 386 processors, he famously closed the commit message with “Good riddance.” Maintaining support for such old hardware had been complicating things behind the scenes for years while offering very little practical benefit, so removing all that legacy code was like taking a weight off the developer’s shoulders.

The rationale was the same a few years ago when distributions like Arch Linux decided to drop support for 32-bit hardware entirely. Maintainers had noticed the drop-off in downloads for the 32-bit versions of their distributions and decided it didn’t make sense to keep producing them. In an era where even budget smartphones are shipping with 64-bit processors, many Linux distributions have at this point decided 32-bit CPUs weren’t worth their time.

Given this trend, you’d think Ubuntu announcing last month that they’d no longer be providing 32-bit versions of packages in their repository would hardly be newsworthy. But as it turns out, the threat of ending 32-bit packages caused the sort of uproar that we don’t traditionally see in the Linux community. But why?

Continue reading “The Saga Of 32-Bit Linux: Why Going 64-Bit Raises Concerns Over Multilib”