SD-card based .D64 reader for the Commodore computer

The 1541-III was my very first project that I put online. I made things before, but never put it on a website, before this my projects simple went into a box or bin and were never seen or heard from again. But the 1541-III was presented to the world and the world seemed to be very interested. Something I did not expect and made me realize that projects (when functional) should always be presented to the world. Because you never know who can also use it and have fun with it.

I also made a few videos to promote this project, very simple videos and these videos are the result of my very first steps in fully digital video editing. I had a lot to learn but I liked it in many ways. Although it would take quite some time before I finally got to the point of using a decent piece of video editing software. Software that didn't crash and without critical import export bugs.

Project status:

The 1541-III was my very first project that I put online. I made things before, but never put it on a website, before this my projects simple went into a box or bin and were never seen or heard from again. But the 1541-III was presented to the world and the world seemed to be very interested. Something I did not expect and made me realize that projects (when functional) should always be presented to the world. Because you never know who can also use it and have fun with it.
It brought me a lot fun (and fame) in the Commodore retrocomputing scene. When I started this project I could not have known about the attention it would get (as seen from my perspective). The prototype of the 1541-III was presented to the public at the HCC Commodore club meeting in Maarssen in februari 2006. The attention it got made me realize that it should be made into a project everyone could build themselves, so a redesign was made and was available at the end of 2006. From then on a lot of things changed in the Commodore retro scene. The most important is perhaps the 1541-ultimate (
https://ultimate64.com) This is an FPGA based cartridge that is capable of a near 100%compatibility with the 1541 and 1541-II diskdrive. Although this is a cartridge is also connects to the IEC bus, this way you'll have the benefits of both worlds. So if you are a real retro fan and like playing lot's of C64 games from .D64 or cartridges, I suggest you'll try this device. My gues is that it will be the last cartridge you'll ever plugin. But back to the 1541-III and it's effect it had on other people. After seeing the 1541-III project Lars Ole Pontoppidan decided that he would build a similar device according his own design using a different microcontroller, he called it the MMC2IEC. Although this device was a functional one it was the cornerstone of the development of the SD2IEC (http://www.c64-wiki.com/index.php/SD2IEC). This device is truly based on an open source coding and more then one developer has written code for it. Which is great as this has resulted in a device that has the simplicity of the 1541-III concept and a high degree of compatibility with the 1541 diskdrive (although not a 100% compatibility, it is better then the 1541-III. It's certainly very useful and relatively cheap). Though the case design of the SD2IEC doesn't look as nice as that of the 1541-III if Imay say so. But that's a matter of taste. The 1541-III also has been produced by some nice guy called Pyrofer from http://www.pyrofersprojects.com he changed the circuit board design to fit into a C64DTV (the Commodore 64 inside a joystick). Great idea, very practical indeed. This smallversion of the 1541-III was also used in the Ben Heck portable C64 project http://www.benheck.com/ commodore-64-original-hardware-laptop With the 1541-ultimate and the SD2IEC devices being produced the1541-III project was becoming obsolete and closed. In other words, the device was functional and a new generation of devices has become available from other developers. The 1541-III has been an inspiration for new technologies for the old commodore 64 and other commodore 8-bit computers. Which makes me very proud about this project. There will be no bug fixes or improvements, the project has ended. If you do not agree, you are free to download the sources as found below in the download section and continue development on your own. In the mean while I will be concentrating on other projects...

What it does:

The 1541-III is a PIC microcontroller controlling an FAT16 MMC/SD card with .D64 files. It is connected to a Commodore computer via the standard IEC-bus (the serial bus normally used to connect diskdrives and printers). The main goal of the circuit is to behave like a 1541 disk drive (therefore the name 1541-III). The MMC/SD card contains D64-files (or normal .PRG files). The user can select one .D64 file with standard LOAD"$",DEVICEcommands. Once a .D64 file is selected it can be accessed like it was a real 5¼" floppy. The nice thing of this solution is that you can download these D64-files from internet to your MMC/SD card without the need of extra tools or cables. Because the 1541-III doesn't need to be inserted into the expansion port or require additional software or kernel it will work on every commodore computer (and even the hacked C64 DTV) that has an IEC-bus. It has been successfully tested on the following machines: VIC20, C64, C16/+4.
Because the circuit is based on a PICmicrocontroller and not a fancy FPGA or 65xx processor it will never act 100% the same as a 1541. This is the main reason why fastloaders will not work as on a real 1541. The firmware(programmed in C) of the 1541-III is released as open source software, everybody can develop new features. For all functionality and how it works, see the manual in the download section at the bottom of this page.

How it all started:

I wanted some extra hardware to fit the big 'hole' inside my SX64. That hole was created by the previous owner who liked some additional buttons (reset, device selection etc.) and replaced the complete diskstorage compartment for an ugly “glued on” front plate. Also the extra hardware I would like to build must be compatible with my other CBM machines (C16 and VIC20) and the usage of .D64 files seemed like an obvious choice. Therefore an IEC based device with standard DOS commands that could use the .D64 files that can be found all over the internet... strangely at that point in time such a device did not exist. So I decided to build it myself, from scratch. Just for fun. Therefore I had to learn the IEC-bus principles and low level command structures and since these docs are rare, I had to build my own (PC-based, LPT-port, VisualBasic6.0)logic analyzer first (it had to be low cost...). Also how files are stored on a MMC/SD-card, how to access these files, how to interpret .D64 files, how to interpret real IEC-bus commands etc... Fortunately the FAT16 code could be reused from another project. Having only one or two hours each day, it took me a year to come this far. But I liked the results and what it could do.

In order to get more information I decided to go to one of the HCCCommodore User Group meetings, I’ve had heard from Ruben G. that they sell datasettes, books, disk drives and all sorts of things that are of interest to a Commodore fan. So why not see for myself if they have any books that could help me with this project. But one thing let to another and before I knew it, the 1541-III project was announced to be demonstrated at the 18th of Feb. 2006. And oh... for those who think “what a familiar kind of casing...” the first prototype is build inside an old Amiga mouse/joystick switchbox. Simply because i needed a box for the project and wanted it to look a bit like a Commodore device... or in other words something with a retro look and that box had exactly the right colors. This memorable day made me realize that the 1541-III project is a very interesting project for other Commodore fans as well. The demonstration day was very overwhelming but inspiring but unfortunately I did not find any books of interest that day. But I continue visiting the club meetings and every time I learn “new” things about retro computing and mostly there are some books or hardware for sale I can really use. The initial prototype holds a 2 line character LCD, but during further development of this project it quickly became clear that a 2 line char LCD could not hold all the relevant info in a convenient way.Therefor the Nokia 3310 display (PCD8544, cheap, small, graphical, 84x48 pixels) completely replaced the character LCD in this project.The final design changes has resulted in a version smaller and easier to construct (see photo right-hand-side). The main idea behind this hobby project is open source, because this project is loved by so many people I want to make it available to all of them. Also by giving away the source code and hardware designs, the development on other IEC-based devices is encouraged. And by making the firmware of the 1541-III upgradeable (using a bootloader) the users can easily stay up-to-date and receive the newest bugs... –uhhh- I meanbug fixes and improved functionality.

Almost 1.5 years after the initial start of the project, I finally managed to build the 1541-III inside my SX-64 and although it looks VERY retro (with those big switches and large red reset button), I am pleased with the result.Mostly because it helps me to keep a tidy workspace and I can take it with me whenever I want to show the project. A happy end after all...


All downloadable files related to the 1541-III are combined into one single .ZIP file: 1541-III.zip