C64 Demo, No C64

Never underestimate the ingenuity of the demoscene. The self-imposed limitations lead to incredible creativity, and, the range of devices they manage to get their demos running on never ceases to amaze us. But we never thought we’d see a C64 demo without one central component: the C64.

Full disclosure: [Matthias Kramm]’s demo, called “Freespin”, does need a C64 to get started. The venerable 6502-based computer runs a loader program on a 1541 disk drive.  But from then on, it’s all floppy drive. And [Matthias] has laid bare all his tricks.

The video below shows the demo in full, including a heart-stopping on-camera cable mod. By adding a single 100 Ω resistor, [Matthias] turned the serial clock and data lines into a two-bit digital-to-analog converter, good enough to generate signals for both black and white pixels and the sync pulses needed for the display.

No demo would be complete without sound, and Freespin’s tunes come from controlling the drive’s stepper motor, like a one-voice Floppotron.

Watching nothing but a floppy drive run a cool demo is pretty amazing. Yes, we know there’s a full-fledged computer inside the floppy, but the bit-banging needed to make this work was still mighty impressive. It might be cool to see what you could do with multiple drives, but we understand the minimalistic aesthetic as well. And speaking of tiny little demos:  the 256 bytes of [HellMood]’s “Memories” or [Linus Åkesson]’s “A Mind is Born” still leave us speechless.

Continue reading “C64 Demo, No C64”

Reading Floppies With An Oscilloscope

There’s a lot of data on magnetic media that will soon be lost forever, as floppies weren’t really made to sit in attics and basements for decades and still work. [Chris Evans] and [Phil Pemberton] needed to read some disks that reportedly contained source code for several BBC Micro games, including Repton 3. They turned to Greaseweazle, an interface board that can dump just about any kind of floppy disk if it is attached to the right drive. The problem is that Greaseweazle couldn’t read the disks due to CRC errors. Time to break out the oscilloscope and read the disk manually, which is what they did.

Greaseweazle provides a nice display of read sectors and shows timing coming from the floppy read head. The disk in question looked good with reasonably clean timing clocks except in the area of one sector. At that point, the clocks degenerated into noise. Looking on the disk, it was easy to see why. The actual media had a small dent in it.

Continue reading “Reading Floppies With An Oscilloscope”

A Floppy Controller For The Raspberry Pi

The Raspberry Pi is the darling single board computer that is everything to everyone. It even has lit up the eyes of the older set with the Pi 400 mimicking the all-in-one keyboard computer design so popular in the 1980s. Another project that harkens back to that golden era is this Raspberry Pi floppy controller board from [Dr. Scott M. Baker].

[Scott] is no stranger to floppy controllers, having worked with the popular WD37C65 floppy controller IC before with the RC2014 homebrew Z80 computer. Thus, it was his part of choice when looking to implement a floppy interface on the Raspberry Pi. The job was straightforward, and done with just the IC itself. Despite the Pi running at 3.3 V and the controller at 5 V, [Scott] has found no problems thus far, implementing just a resistor pack to try and limit damage from the controller sending higher voltage signals back to the Pi. With that said, he plans to implement a proper level shifter down the road to ensure trouble-free operation long term.

The project is rounded out with a bunch of Python tools used to interface with the controller, available on Github. Performance is limited by the non-realtime nature of the Raspberry Pi’s user mode operation, which [Scott] notes could be fixed with a kernel module. With that said, if you’re looking for performance, floppies aren’t it anyway.

We do love the Pi put to use in retro tasks; it can even be a SCSI Swiss Army Knife if you need one. Video after the break.

Continue reading “A Floppy Controller For The Raspberry Pi”

45 Minute Podcast Served Up On A Floppy Disk

Near the turn of the millenium, portable media players like the iPod led to the development of the podcast. The format generally consists of content similar to talk-based radio, and is typically served up in modern codecs like AAC, M4A and MP3. However, [Sean Haas] decided these were all too chunky, and wanted to see if it was possible to deliver similar content on a floppy disk. The results are predictable, but impressive.

[Sean]’s aim was to try and fit roughly 45 minutes of audio on to a 1.44 MB floppy disk. To pull this off, he looked far and wide for a codec fitting for the task. The choice landed on was Adaptive Multi-Rate, or AMR. Typically used to encode audio for GSM phone calls, it can also be used to create compressed audio files.

Initial attempts weren’t quite good enough to do the job, so [Sean] introduced a pre-processing step with FFMPEG, to speed the audio up 1.2 times. It was then passed through SoX and encoded in AMR at approximately 5 kbit/s. This allowed a 45-minute long MP3 file of 72MB to be compressed down into just 1.2 MB, and thus able to fit onto a floppy disk. Audio quality is predictably poor, as you can hear in the embedded clip below, but definitely intelligible. You’d probably want to skip any musical passages if you were doing this seriously.

Continue reading “45 Minute Podcast Served Up On A Floppy Disk”

Music Player Erected From Floppy Disks

Holding on to a cache of old floppies because nostalgia? Us too, and this might be the coolest possible use for ’em. While it’s fun to imagine that he wrote a compression algorithm to fit a lossless copy of Coltrane’s Blue Train on a 1.44Mb coaster, or somehow rolled his own mini-disc, [Dino Fizzotti]’s Diskplayer uses floppies to serve up Spotify albums.

What’s actually on the floppy, then? The corresponding Spotify album URL. He just pops a disk in the drive, and the Pi does the rest — it detects the floppy event and executes a script that starts an open-source Spotify client. There’s no track skipping and no shuffle, just the entire album as intended, take it or eject it. If you think about it, he’s actually managed to improve on the vinyl experience, since all the songs are on one side. Demo is queued up after the break, and it includes [Dino]’s simple web interface for writing the Spoti-floppies.

When this project started seven months ago, [Dino] intended to bring his vinyl collection into the 21st century with RFID tags, but we’re glad that he decided to involve a fairly obsolete medium. Don’t have a drive or a heap of floppies gathering dust in a closet? Neither did [Dino]. But he found plenty of people selling pretty-colored floppies on ebay, and Amazon has tons of cheap external drives. We think the album art stickers are a nice touch, as is matching album cover color to floppy. He’s right to lock those bad boys up.

Got a bunch of floppy drives? Build a Floppotron and make your own music!

Continue reading “Music Player Erected From Floppy Disks”

Flux Engine Reads Floppies

It is a bit of a paradox that we are storing more and more information digitally, yet every year more and more of it is becoming harder to access. Data on a variety of tapes and disks that were once common, is now trapped on media due to lack of hardware to read it. Do you have a ZIP drive? Do you have a computer that it will work with? Floppies are problem too. You might think you beat the system just by having a USB floppy drive. While these do exist, they typically won’t read oddball formats. That is, except for Flux Engine, an open source USB floppy drive.

The device uses a $15 Cypress development board and just some wiring (along with a 3.5 or 5.25 floppy drive, of course). Currently, the firmware only supports read only access to IBM standard disks and Acorn DFS/ADFS disks. It can also read and write Brother word processor disks. However, being open source, it could do more. The author, [David Given], is looking for Commodore 1541 and Apple CLV disks to borrow so he can get those working. He’s also offered to entertain other formats if you are willing to loan him a disk.

The software uses libusb and is known to work on Linux and Windows with Cygwin. It should also work with OSX. However, you will need a Windows box of some sort to build the Cypress firmware because the Cypress tools won’t work anywhere else. [David] wants to change processors because of this, but if he does, he’ll miss the PSoC function blocks, we are guessing.

The design is actually rather simple. The firmware only measures the time between flux transitions and sends them to the attached PC. All the heavy lifting occurs on the PC, which means it should be pretty easy to analyze and decode new formats. While writing is possible, it appears there is more work that needs to happen to make it reliable. [David] comments that you really need a real drive to test your writing with so you don’t write things only you can read back. Makes sense.

This certainly is more user-friendly than the last method we looked at. We had to wonder if [David] has thought about 8-inch floppies.

Making Vintage Computing Easy, The Hard Way

If you want to not take for granted how easy and seamless computers have become, take up vintage computing as a hobby. If you venture down the retro path, you’ll quickly question how anyone ever got any useful work done with computers, and the farther back you go in computer history, the more difficult everything seems to become.

Case in point: how do you easily transfer files between a home-brew PC/XT and your modern desktop? Back in the day we did it with null modem cables or by sneaker-netting stacks of floppies, but [Scott M. Baker] found another way — putting a Raspberry Pi on the ISA bus as a virtual floppy drive. The heart of the ISA card is an IDT7130, a 1-kb RAM chip that allows simultaneous asynchronous access over dual ports. One port talks to the ISA bus and the other talks to the GPIO of the Pi, after level-shifting to make everything voltage compatible, of course. [Scott] wrote a driver for the card, plugged a Pi Zero W into the header pins, and threw a Python server together that makes local images available to the shared memory on the card. The upshot of this is that the retro machine thinks it has a floppy in it, but it’s actually a server. The video below has tons of detail and shows the card in action. Pretty slick.

[Scott]’s projects are always fun to check out, and he really seems to have the retro life dialed in. Whether it’s old jukebox hacks or a Unix-ish OS for Z80s, there’s plenty to learn. Although we’d like to see more about that PC/XT in the video; are those Nixies we spy along the front panel?

Continue reading “Making Vintage Computing Easy, The Hard Way”