Add A Bit Of Soviet-Era Super-Computing To Your FPGA

The MESM-6 project is focused on bringing the 1960s Soviet BESM-6 computer to the modern age of FPGAs and HDLs. At the moment the team behind this preservation effort consists out of [Evgeniy Khaluev], [Serge Vakulenko] and [Leo Broukhis], who are covering the efforts on the Russian-language project page.

The BESM-6 (in Russian: БЭСМ-6, ‘Bolshaya Elektronno-Schetnaya Mashina’ or ‘large electronic computing machine’) was a highly performing Soviet super computer that was first launched in 1968 and in production for the next 19 years. Its system clock ran at 9 MHz using an astounding number of discrete components, like 60,000 transistors and 170,000 diodes, capable of addressing 192 kB of memory in total. Of the 355 built, a few survive to this day, with one on display at the London Science Museum (pictured above). Many more images and information can be found on its Russian Wikipedia page.

For those not gifted with knowledge of the Russian language, the machine-translated summary reveals that the project goal is to make a softcore in SystemVerilog that is compatible with user mode BESM-6, using the same Pascal compiler as originally used with that system. Further goals include at least 24 kB of data memory, 96 kB of command memory and the addition of modern peripherals such as SPI and I2C.

The system is meant to be integrated with the Arduino IDE, using the Pascal compiler to make it highly accessible to anyone with an interest in programming a system like this. Considering the MIT license for the project, one could conceivably use a bit of Soviet-era computing might in one’s future FPGA efforts.

If after watching the BESM-6 video — included below — you feel inspired to start your own Soviet-computing project, we’d like to wish you luck the Russian way: Ни пуха ни пера!

Continue reading “Add A Bit Of Soviet-Era Super-Computing To Your FPGA” →

Custom Monitor For Pi-Powered Commodore 64

Classic games never seem to have gone out of style and with the emulation powers of the Raspberry Pi, there seems to be no end of projects folks have been coming up with. [Chris Mills] project is a great looking monitor to get his Commodore 64 fix by combining the retro looks of a home-made 64-style monitor with the Raspberry Pi.

[Chris] is only interested in Commodore 64 emulation, at least with this project, and wanted something that would fit on a desk without taking up too much room. An eight inch LCD security monitor fit the bill perfectly. [Chris] ended up building a wooden enclosure for the monitor to give it that Commodore look. The monitor, power supply and cable connections fit inside along with speakers; each of these having their inputs on the back. A fan vents in the back as well and the Pi sits outside running the Combian 64 emulation software.

[Chris] has put up some galleries of build pics. The logo from the old Commodore logo is a nice touch. Read over the Hackaday site and you could build your own Commodore 64, or use the Commodore 64 itself to house the Raspberry Pi if you wanted.

 

Creating A Contest-Winning Amiga Demo Soundtrack

The Amiga platform took the world by storm in the 1980s. Developed by a crack team and brought to market by Commodore, the OCS chipset brought high-quality graphics and sound into the home computer market in a way never seen before. These capabilities cemented the Amiga’s place in the demoscene, and it maintains an active development community to this day. [Hoffman] is one such member of that community, and has shared some of the hacks that go into pulling off a banging soundtrack in a cutting-edge A500 demo.

The Amiga has 512 KB of so-called chip RAM, accessible by the custom chips and CPU for all tasks. There’s also commonly an additional 512 KB in a trapdoor under the machine, though it is limited in the ways it can be used. With these limits in place, [Hoffman] was overjoyed when the rest of the team allocated him a full 200 KB of memory for the soundtrack. In order to make the most of this precious resource, hacking ensued.

[Hoffman] does a great job of explaining all the tricks involved in creating a compelling 5 minute soundtrack in just 200 KB of RAM. There’s discussion of compression, sample sizes, and the vagaries of the ProTracker format. Smart hacks such as prioritized sample loading and pre-rendering drum loops also help to get the project over the line.

It’s a great write-up, which clearly explains the strategies used to help build a world-class demo soundtrack. [Hoffman] promises that the tricks used by the rest of the crew are equally as impressive, which we’re sure helped Eon to win the Amiga Demo Compo at Revision 2019. We’ve featured Revision winners here before, too. Demo video after the break.

Continue reading “Creating A Contest-Winning Amiga Demo Soundtrack” →

Reviving A Casio Scientific Calculator, With A CNC Router

Before Wolfram Alpha, before the Internet, before even PCs, calculations more complex than what could be accomplished with a “four banger” required some kind of programmable calculator. There were many to choose from, if you had the means, and as time passed they became more and more sophisticated. Some even added offline storage so your painstakingly written and tediously entered programs didn’t evaporate when the calculator was turned off.

One such programmable calculator, a Casio PRO fx-1 with magnetic card storage, came across [amen]’s bench recently. Sadly, it didn’t come with any cards, so [amen] reverse engineered the card reader and brought the machine back to its 1970s glory. The oddball mag cards for it are no longer available, so [amen] had to make do with. He found some blank cards of approximately the right size for cheap, but somehow had to replicate the band of vertical stripes adjacent to the magnetic strip on the card. Reasoning that they provide an optical synchronization signal, he decided to use a CNC router to cut a series of fine-pitched slots in the plastic card. It took a little effort to get working, including tapping the optical sensor and reading the signal on an oscilloscope, but as the video below shows, the hacked cards work fine with the vintage calculator.

Kudos to [amen] for reviving this retro-cool calculator. Now that it’s back in action, it might be fun to visualize domains on the magnetic strip. A flatbed scanner can be used for that job.

Continue reading “Reviving A Casio Scientific Calculator, With A CNC Router” →

Get Coding With This Atari 2600 Development Suite

Sometimes the urge strikes to get busy coding for an old retro system, but unfortunately the bar to entry can be high. There’s a need to find a workable compiler, let alone trying to figure out how to load code onto original vintage hardware. It doesn’t have to be so hard, though. The team at [HeatSync Labs] built an Atari 2600 development station so hackerspace members can simply rock up and get to work.

With this rig, development is a multi-step process. A paper manual is on hand to provide detail of how to code for the Atari. An IBM PC is then on hand to allow the budding developer to code in assembly. This text file is then compiled into an Atari ROM, which is then passed through a special utility to convert it to an audio file. This is to allow it to be used with a Starpath Supercharger, which allows games to be loaded onto the Atari via cassette tape, or in this case, raw digital audio. By playing the audio file on the PC, connected to the Supercharger cartridge, it’s possible to run arbitrary code on the Atari 2600.

Programming in 6502 assembly isn’t the easiest mountain to climb for an absolute novice, but experienced coders will likely appreciate the no-fuss development environment. It makes for an easy gateway into the world of retro console programming, and there’s nothing like the fun of seeing your code running on original hardware.

We love a good story of retro development – like this tale of fixing a 37-year-old bug in an Apple II game. Video after the break.

Continue reading “Get Coding With This Atari 2600 Development Suite” →

A Nearly Practical 6502 Breadboard Computer

Over the years we’ve seen a number of homebrew 6502 computers assembled with little more than a breadboard, a sack full of jumper wires, and an otherworldly patience that would make a Buddhist Monk jealous. Anyone who takes the time to assemble a fully functional computer on a half-dozen breadboards lined up on their workbench will always be a superstar in our book.

While we’re still too lazy to attempt one of these builds ourselves, we have to admit that the Vectron 64 by [Nick Bild] looks dangerously close to something you might be able to pull off within a reasonable amount of time. It’s still an incredible amount of work, but compared to some of the other projects we’ve seen, this one manages to keep the part count relatively low thanks to the use of a simple 16×2 LCD for output and user input provided by a PS/2 keyboard. You won’t be playing Prince of Persia on it, but at least you might be able to finish it in a weekend.

The computer is clocked at 1 MHz, and features 32KB RAM
along with 32KB EEPROM. That should be enough for anyone. [Nick] also points out he tried to use era-appropriate 7400 series ICs wherever possible, so no worries about historical revisionism here. If you’re looking for a design that somebody could have potentially knocked together back in the 1970s, this one would get you fairly close.

The astute reader might notice there’s no removable media in this build, and may be wondering how one loads programs. For that, [Nick] allowed himself a bit of modern convenience and came up with a scheme that allows an Arduino (or similar microcontroller) to connect up to the computer’s 28C256-15 EEPROM. With a Python script running on your “real” computer, you can write a new ROM image directly to the chip. He’s included the source code for a simple program which will write whatever you type on the keyboard out on the LCD, which should give you a good framework for writing additional software.

If you’re looking for a bigger challenge, don’t worry. We’ve covered 6502 breadboard computers that will make your eyes water. Incidentally, this isn’t the first time we’ve seen a similar LCD used for one of these computers, so looks like there’s no shame in sneaking in modern parts where it makes sense.

Add A Host Of 8-Bit Processors To Your Arduino

Normally when we bring you news of a retrocomputing design, it will centre around a single processor. At its heart will be a 6502, a Z80, or perhaps a 6809. There will be a host of support chips, some memory as RAM or ROM, and a bunch of interfaces. [Erturk Kocalar]’s RetroShield project for the Arduino Mega breaks all of those rules, because it supports all three of those classic processors, has no support chips, no memory, and no external interfaces beyond the shield connection to the Mega. What on earth is going on!

A closer look reveals that the project is a set of shields that use the Mega’s power to emulate all the support chips and peripherals you’d have seen on the original hardware. And while it would be impressive to have a single board with support for all three CPUs, in fact there is a PCB for each one. But that makes it no less interesting a project for those with an interest in 8-bit processors, because the focus becomes the software rather than a quest to find out-of-production silicon.

So far there is some limited demo software, and his website goes into some detail on the interfacing and code required. The Arduino can only clock the 8-bit CPU at 95kHz in software which may sound a bit low to those familiar with 1980s home computers, but it’s best to think of this as an experimentation platform and give up dreams of playing Elite. An exciting prospect comes in giving the 8-bit machine access to Arduino shields, if improbable hardware is your bag.

If this has captured your interest, you might also wish to take a look at the $4 Z80 single board computer which has a similar ethos.