Project: 1541-III

 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"$",DEVICE commands. 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: VIC 20, C64, C16 and Plus4 Since the C64 is the most common 8-bit IEC machine this page will be written out of the C64 perspective.

Because the circuit is based on a PIC microcontroller and not a fancy FPGA or 65xx processor it will never act 100% the same as an 1541. This is the main reason why fastloaders will not work as on a real 1541. Still it is a very affordable alternative for using .D64 files on a real commodore computer. Because things can always be better... the 1541-III is capable of updating it’s firmware, updates are available on this website, see the download section below. (Updating firmware requires only a PC with an RS-232 port). AND... because the firmware (programmed in C) of the 1541-III is released as open source software, everybody can develop new features.

 

            

Start-up screen of the 1541-III and 1541-III DTV

Current features:

features firmware version V08.--.--

 

Feature

Remark

 

 

 

 

Opening .D64 image files and accessing them as if they were real 5.25" disks

 

 

Reading of .PRG files directly from MMC/SD-card (in root and subdirs)

Writing is supported only within .D64 files

 

 

Selecting image files with common basic commands (example) :

-LOAD"$CARD",DEVICE for loading the card’s directory or entering subdirectories

-LOAD"$..”,DEVICE return to the parent directory

-LOAD"$IMAGE",DEVICE for loading the image file

 

 

 

Support the use of the truncated Long-File-Names to select the D64 (example):

 

- LOAD”$FILENAME”,<DEVICE>

 

 

Write support and write related commands (i.e. save, scratch, rename, replace)

Tested in the folowing games:

Int. Karate (works),

Donkey Kong (works),

Duck Shoot (works),

Commando (saves highscore, but game crashes when loading it, can’t see why though <help>)

 

When not possible to use the basic selection commands, use the 3 buttons, prev, select or next to select a .D64 or parent directory or (sub)directory

 

 

Less weight, low power consumption, suitable placement inside computer

 

 

Connection to a graphical LCD (PCD8544) which shows:

-         card initialisation information

-         number of files inside the current (sub)directory

-         index number and name of selected image file

-         file information and details during browsing with buttons

-         progressbar (usefull to see how long it takes, when loading)

-         error, device, track and sector

-         mode of operation (Hard-disk mode, D64-mode)

 

 

V1.0: RS232 serial port for connection to PC for uploading new firmware

V1.1: CP2102 USB-UART for connection to PC for uploading new firmware

 

 

Maximum number of files in root is limitted to 512 (name stored according 8.3 format). But because subdirectories are supported the total number of files on a MMC/SD-card is only unlimtted by the size of the card.

Keep in mind not to store too much files inside the root or subdirectory, simply because it would take a lot of time to load the files... and loading a very large directory may not even fit into the limitted memory of the computer itself. A standard VIC20 has only 3.5K available to the user.

 

 

MW and MR commands to set the timing to 1540 mode . The setting to VIC20 mode is stored to EEPROM and needs to be configured only once (if desired). Also setting the VIC20 mode adjusts the allignment of the directory structure so it fit’s nicely on the small screen of the VIC20.

I.e. for 25% faster IEC bus on VIC20

 

 

Scheduled for development:

 

features scheduled for development (in other words “my list of wishes”)

 

Feature

Remark

 

 

 

 

BR and BW commands required for simple disc copying

Routines are functional but  command handling has to be done.

 

Support for T64 or other tape related files (research required)

 

 

Support for D71, D81 kind of files (research required)

 

 

Although not certain if it possible but a personal wish is still the Power cartridge and/or Final cartridge support...

Require detailed info. Contact me if you have more information regarding these cartridges.

Downloads:

Attention : the downloads below can be used to build your own 1541-III. The design is based on a 18F2620 in order to fully support future enhancements. Keep in mind that the software is constantly being improved so visit this website from time to time to see if updates are available. Use the bootloader in order to easily update to new firmware versions using the serialport and a small software tool on your PC (Windows only). For an overview of the changes within the firmware, please read sourcecode (MAIN.C, history:)

Files required for 1541-III firmware updates:

1541-III firmware.hex V20080227 (.ZIP)       (-LATEST- .hex file, ready for programming into PIC.)

1541-III firmware.hex V20071027 (.ZIP)       (-OLD- .hex file, ready for programming into PIC.)

1541-III firmware.hex V20070815 (.ZIP)       (-OLD- .hex file, ready for programming into PIC.)

1541-III firmware.hex V20061215 (.ZIP)       (-OLD- .hex file, ready for programming into PIC)

 

1541-III v1.0 (RS-232 version)

How to upload firmware (RS232) (.PDF)        (manual: how to update your 1541-III’s firmware using a Windows PC)

Updaten 1541-III firmware (RS232)(.PDF)    (DUTCH version of ‘how to upload firmware’ using a Windows PC)

Windows app for updating firmware (.ZIP)      (application (by: Claudiu Chiculita) to update the firmware of your 1541-III)

Linux app for updating firmware (.tar.gz)          (application (by: Hannu Nuotio) to update the firmware of the 1541-III v1.0)

 

1541-III v1.1 (USB version)

Updaten 1541-III firmware (USB) (.PDF)      (DUTCH version of ‘how to upload firmware’ using a Windows PC)

How to upload firmware (USB) (.PDF)           (manual: how to update your 1541-III’s firmware using a Windows PC)

USB driver for the 1541-III (.ZIP)                  (a driver that is required to upload new firmware for the USB equiped 1541-III)

Windows app for updating firmware (.ZIP)      (application (by: Claudiu Chiculita) to update the firmware of your 1541-III)

 

1541-III Manuals, promotion material and related documents:

User manual 1541-III (.ZIP)                (the main manual of the 1541-III)

Promotion ‘flyer’ (.PDF)                     (a simple ‘flyer’ to hand out at meetings, saves the trouble of endlessly explaining my project)

IEC-related documents (.ZIP)             (a collection of documents describing IEC communication on CBM equipment)

1st promotional movie (YOUTUBE)    (my first promotional film, actually just a test to try out video editting software)

2nd promotional movie (YOUTUBE)    (my second promotional film, a bit longer, in color and intended to be fun to watch)

 

Software tools for the 1541-III:

Basictool 1541-III (.ZIP)                    (C64 Basic tool for chnaging special drive settings of the 1541-III)

Empty D64 (.ZIP)                               (For those who require an empty .D64 file but do not know how to make one)

SDbrowse (.ZIP)                                 (SD-browse, the latest version and sources, read the readme inside for more info)

 

Files required for development/building of the 1541-III:

Source code, V20080227  (.ZIP)        (-LATEST- complete sources and project directory of 1541-III firmware)

Source code, V20071027  (.ZIP)        (-OLD- complete sources and project directory of 1541-III firmware)

Source code, V20070815  (.ZIP)        (-OLD- complete sources and project directory of 1541-III firmware)

Source code, V20061215  (.ZIP)        (-OLD- complete sources and project directory of 1541-III firmware)

Schematic (.PDF)                                (the schematic of the 1541-III v1 PCB, very usefull if you want to hack it… (can’t see why J))

Printed Circuit Board (.ZIP of .PDF)   (sheets of all individual layers, so you can etch the PCB yourself (not for beginners))

Gerber files of PCB (.ZIP)                   (a gerber file for each individual layer)

Bill of materials (.txt)                            (a list of all the parts you will need to build a 1541-III)

Bootloader for PIC18F devices (link) (a bootloader is required to re-program the PIC over the serial port)

Adding a nokia display (.PDF)             (a small document to describe the basics required to use this display)

Frontside + mech drawing (.PDF)        (hole positions and 1541-III’s front, print it on stickerpaper and stick it on your 1541-III’s case)

Power connector adapter (.PDF)         (an adapter designed for stealing power directly from your C64’s power supply)

Expansion port powercon (.PDF)        (single sided PCB designed for stealing power from your C64’s expansion (cartridge) port)

 

How to order:

Please keep in mind that the 1541-III is not a product, it is a hobby project. For those who whish to own a 1541-III and can’t build one themselves contact me at mailto:jd1541@hotmail.com

1541-III related projects:

1541-III DTV

The 1541-III stripped down to a version perfectly suited for use INSIDE the C64-DTV. A great idea made into a real product by Pyrofer. This is a project that uses the 1541-III’s source-code on a slightly different PCB in order to suit the C64DTV. For info, updates and support about this project refer to

Pyrofers website : http://www.pyrofersprojects.com/15413.php

Pyrofer also has a very usefull forum which is worth visiting, even if you do not have a DTV:

http://www.pyrofersprojects.com/forum/index.php?sid=e0ce333e3c4e6494995b5c2d30868bc1

 

 

MMC2IEC

MMC2IEC dtv version PCB topLars Pontoppidan has made an AVR version the 1541-III DTV. This version is has very few components and is easy to rebuild. His project’s development was stimulated by the 1541-III project and is rewritten espically for the AVR microcontroller. Read all about it at his website and be amazed by this tiny PCB that will easily fit into your C64DTV. For info, updates and support about this project refer to

Lars’s website : http://pontoppidan.info/lars/index.php?proj=mmc2iec