The MMC64 is a cartridge for the C64 home computer, which plugs into the expansion port. It was developed in 2005 by Oliver Achten, production and sale is done by the Commodore hardware accessory company Individual Computers, although the MMC64 is sold by other retailers as well.
The MMC64 serves as a read/write interface for FAT16 and FAT32 (since BIOS V1.04) formatted MMC and SD flash memory media. It can handle almost all media up to 4 GByte, however some cards are completely incompatible and result red or black screen in power up. The MMC64 is a solution for Commodore users to transfer data between the Commodore 64 and a PC. The PC does not need to have a parallel port, which is a requirement for the popular x1541 interface.
It has a pass-through expansion port, allowing to use another cartridge together with the MMC64.
The MMC64 is sold "bare" without a case, which means that users who desire protection need to manually modify full cases to match its dimensions (and the dimension of pass-through expansion port Cartridges).
The MMC64 has a flashable BIOS which is updated for new features, better compatibility and other improvements. There is also an alternative BIOS (software download link) available from another developer. Documentation and source code are provided to facilitate development of additional plugins and alternative BIOS images. Some later BIOS versions require to be renamed as mmc64v1b.upg to be read from system64 directory when pressing F5-key.
The cartridge has a file browser that is launched automatically upon start, although the auto-launch feature allows for different file browsers. It can execute .PRG files on the flash media right from the file browser and write .d64 disk image files to disk, although this is very slow with the built-in diskwriter, so most people use a faster plugin (software download link), although this plugin does not work on metal C128Ds due to timing issues. (The latest version of the BIOS, 1.03, removes the slow built-in .d64 writer in order to make space for more useful BIOS features; it is recommended that people use the much faster plugin for this task.)
If the "R" key is pressed upon startup, the MMC64 reads the disk in the drive and saves it to the flash media as a disk image. This is slow compared to other solutions like the RR-Net based Warpcopy or the x1541 parallel port interface, but faster implementations are being worked on.
The MMC64 cannot handle multi-file programs, since it does not emulate a floppy disk drive. Any program that must load further data from the flash will not work, although a .d64/.d71-mount plugin seeks to alleviate this issue by replacing the DOS file access routines to simulate the presence of a floppy drive.
MMC64 allows user-supplied plugins for additional functionality not available in the BIOS. Many plugins already exist, including picture displayers for various Commodore pictureformats, .wav/.raw audio players, a fast .d64 writer plugin, an alternative SID player, an animation player for .ani files, viewers for ASCII text files, a reader for .t64 tape images, a launcher for .crt cartridge files (only those that do not employ custom ASICs, e.g. games), a .d81 writer for 1581 disk images, and others.
Also available is a .d64/.d71 mount plugin that allows reading from a disk image residing on the flash media. The drawback is that a Retro Replay is needed as well. As with the IDE64 IDE interface for the Commodore 64, the program or game has to use standard KERNAL file access routines and not rely on a software fast loader, which unfortunately is the norm, since the Kernel-routines are very slow when accessing a normal 1541. Games and programs fixed for the IDE64 usually work on MMC64 as well using this plugin.
Reading and writing from/to a disk image on the flash media so far is only possible with the .dfi plugin. However, the .d64 needs to be converted to .dfi and the program itself has to be modified with Dreamload as its fast loader (version 2.7 or above). Dreamload is compatible with all kinds of regular disk drives as well as Commodore compatible harddrives, IDE64, and now also MMC64. A .dfi file is a more convenient and compatible container for a .d64 file.
The MMC64 has an autostart feature that allows to run an arbitrary program named 'BOOT.BIN' in the /SYSTEM64 directory (e.g. a selection menu or an alternative file browser) instead of the built-in file browser. Many users prefer the TNT file browser for its ability to display long filenames and browse/launch from within .d64 files. The autostart can be temporarily disabled by holding the Commodore key upon starting the computer or permanently from within the BIOS's configuration menu.