
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 |
|
|
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
unlimited 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 limited 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 alignment 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 |
|
Prophet64
cartridge support |
In
order to solve this problem a major rewrite is required, although on the
testbench there are improvements, but it still requires lot’s of work and
mostly testing. |
|
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) |
|
|
Final
cartridge support... |
DetailedFC3 information
has been acquired, now the terrible task of programming (embedding it in the
current state machine(s)) and testing/debugging has been performed. |
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)
3rd
promotional movie (YOUTUBE) (my third film (non promotional, but disk related), a
lot longer, keep watching after credits)
Software
tools for the 1541-III:
Basictool 1541-III (.ZIP)
(C64 Basic tool for changing 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)
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
MMC2IEC
Lars 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
SD2IEC
Not “just another clone”, this one is VERY
interesting and promissing. Why, because it has a very enthusiastic group of
developers behind it. Visit the wiki for more information. This project (in my
humble opinion) has reached the highest kind of performance that is possible
with a 1541-III-like drive. Keep up the good work guys!!!
SD2IEC wiki website : http://www.c64-wiki.com/index.php/SD2IEC