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.

DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence

We’ve seen a few retro products using core rope memory, such as telephone autodiallers. Obviously, we’ve covered the Apollo program computers, but we don’t think we’ve seen a complete and functional DIY computer using core rope memory for program storage until now. [P-lab] presents their take on the technology using it to store the program for a Z80-based microprocessor demoboard, built entirely through-hole on a large chunk of veroboard.

For the uninitiated, core rope memory is a simple form of ROM where each core represents a bit in the data word. Each wire represents a single program location. Passing a wire through the core sets the corresponding bit to a logic 1, else 0. These wires are excited with an AC waveform, which is coupled to the cores that host a wire, passing along the signal to a pickup coil. This forms an array of rudimentary transformers. All that is needed is a rectifier/detector to create a stable logic signal to feed onto the data bus.

Continue reading “DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence”

Printed Rack Holds Pair Of LattePandas In Style

ARM single-board computers like the Raspberry Pi are great for some applications — if you need something that’s energy efficient or can fit into a tight space, they’re tough to beat. But sometimes you’re stuck in the middle: you need more computational muscle than the average SBC can bring to the table, but at the same time, a full-size computer isn’t going to work for you.

Luckily, we now have options such as the LattePanda Mu powered by Intel’s quad-core N100 processor. Put a pair of these modules (with their associated carrier boards) on your desktop, and you’ve got considerable number-crunching capabilities in a relatively small package. Thanks to [Jay Doscher] we’ve got a slick 3D printed rack that can keep them secure and cool, complete with the visual flair that we’ve come to expect from his creations.

Continue reading “Printed Rack Holds Pair Of LattePandas In Style”

The Turing Machine Made Real, In LEGO

The British mathematician and pioneer of computing Alan Turing published a paper in 1936 which described a Universal Machine, a theoretical model of a computer processor that would later become known as a Turing Machine. Practical computers don’t quite follow the design of a Turing Machine, but if we are prepared to sacrifice its need for an infinitely long paper tape it’s quite possible to build one. This is what [The Bananaman] has done using LEGO as a medium, and if you’d like one for yourself you can even vote for it on the LEGO ideas website.

There’s a video for the project which we’ve placed below, and it goes into quite some detail on the various mechanisms required. Indeed for someone used to physical machinery it’s a better explanation through seeing the various parts than many paper explanations. Not for the first time we’re bowled over by what is possible through the use of the LEGO precision mouldings, this is a machine which would have been difficult and expensive to build in the 1930s by individually machining all its parts.

With just shy of six thousand supporters and a hefty 763 days left at time of writing, there’s plenty of time for it to garner support. But if you want one don’t delay, boost the project by voting for it early.

Continue reading “The Turing Machine Made Real, In LEGO”

Some SPI Flash Chip Nuances Worth Learning

Some hackers have the skills to help us find noteworthy lessons in even the most basic of repairs. For instance, is your computer failing to boot? Guess what, it could just be a flash chip that’s to blame — and, there’s more you should know about such a failure mode. [Manawyrm] and [tSYS] over at the Kittenlabs blog show us a server motherboard fix involving a SPI flash chip replacement, and tell us every single detail we should know if we ever encounter such a case.

They got some Gigabyte MJ11-EC1 boards for cheap, and indeed, one of the BIOS chips simply failed — they show you how to figure that one out. Lesson one: after flashing a SPI chip, remember to read back the image and compare it to the one you just flashed into it! Now, you might be tempted to take any flash chip as a replacement, after all, many are command-compatible. Indeed, the duo crew harvested a SPI chip from an ESP32 board, the size matched, and surely, that’d suffice.

That’s another factor you should watch out for. Lesson two is to compare the SPI flash commands being used on the two chips you’re working with. In this case, the motherboard would read the BIOS alright and boot just fine, but wasn’t able to save the BIOS settings. Nothing you couldn’t fix by buying the exact chip needed and waiting for it to arrive, of course! SPI flash command sets are fun and worth learning about — after all, they could be the key to hacking your “smart” kettle. Need a 1.8 V level shifter while flashing? Remember, some resistors and a NPN transistor is more than enough.

A series of wooden rectangles are arranged vertically around the edges of a dark wooden base, reminiscent of a very tall radial fan. Light glows from the base up the slots between the vanes. a cord runs from behind the dark base to a small puck of the same color. The setup sits on a light grey table in front of a light grey wall.

A Beautiful Lamp-Inspired PC Case

Sometimes you see something super cool and think of how it would be really neat if applied in a totally different context. [MXC Builds] saw an awesome lamp from [karacreates], but decided it would be better as a PC case.

We love seeing how different techniques can be used in conjunction to make something that no one method could produce on its own, and for this build, we see [MXC Builds] use 3D printing, laser cutting, CNC, sewing, soldering, and traditional woodworking techniques.

A large part of the video is spent on the CNC process for the walnut base and power button enclosure for the build. As with any project, there are a few places requiring some creative use of the tools on hand, like the walnut piece for the base being too tall for the machine’s usual z-calibration puck or any of [MXC Builds]’s bits to do in one pass, and it’s always interesting to see how other makers solve these issues.

If you’re looking for other beautiful casemods, how about a transparent PS2 or this Art Deco number? Before you go, may we bend your ear about how PC Cases are Still Stuck in the Dark Ages?

Continue reading “A Beautiful Lamp-Inspired PC Case”

New Release Of Vision Basic: Hot New Features!

As the Commodore 64 ages, it seems to be taking on a second life. Case in point: Vision BASIC is a customized, special version of the BASIC programming language with a ton of features to enable Commodore 64 programs to be written more easily and with all sorts of optimizations. We’ve tested out both the original 1.0 version of Vision BASIC, and now with version 1.1 being released there are a whole host of tweaks and updates to make the experience even better!

One of the only limitation of Vision BASIC is the requirement for expanded RAM. It will not run on an unexpanded C64 — but the compiled programs will, so you can easily distribute software made using Vision on any C64. A feature introduced in version 1.1 is support for GeoRAM, a different RAM expansion cartridge, and modern versions of GeoRAM like the NeoRAM which has battery-backed RAM. This allows almost instantaneous booting into the Vision BASIC development environment.

Some of the standout features include a doubling of compilation speed, which is huge for large programs that take up many REU segments in source form. There are new commands, including ALLMOBS for setting up all sprites with a single command; POLL to set up which joystick port is in use; CATCH to wait for a particular scanline; and plenty more! Many existing commands have been improved as well. As in the original version of Vision BASIC, you can freely mix 6510 assembly and BASIC wherever you want. You can use the built-in commands for bitmaps, including panning, collision detection, etc., or you can handle it in assembly if you want! And of course, it comes with a full manual — yes, a real, printed book!

One of the nice features of Vision BASIC is the customization of the development environment. On the first run, after agreeing to the software terms, you enter your name and it gets saved to the Vision BASIC disk. Then, every time you start the software up, it greets you by name! You can also set up a custom colour scheme, which also gets saved. It’s a very pleasant environment to work in. Depending on how much additional RAM you have, you can hold multiple program segments in different RAM banks. For example, you could have all your source code in one bank, all your bitmaps and sprites in another, and your SID tunes in yet another. The compiler handles all this for you when you go to compile the program to disk, so it’s easy to keep large programs organized and easy to follow.

If you’ve always wanted to write a game or application for the C64 but just didn’t know how to get started, or you felt daunted at having to learn assembly to do sprites and music, Vision BASIC is a great option. You will be blown away at the number of commands available, and as you become more experienced you can start to sprinkle in assembly to optimize certain parts of your code if desired.