The 1541 "Ultimate"
|
|
| The construction and future of the 1541 "Ultimate" Update December 14, 2007 A lot of work has been done to integrate exciting new features and improve ease of use of the “1541 Ultimate”. The following text describes the current status. User Menu When used as a cartridge on your C64, the “1541 Ultimate” now has a nice user inferface, which can be started by pressing the middle button on the board. The current program that the C64 is running is frozen and a black screen with a nifty blue bar appears, showing the files and directories that are on the SD-card. The “1541 Ultimate” supports FAT, FAT16 and FAT32 formats and also supports long filenames (truncated to 22 characters to be able to show it on a 40 column screen). By using the cursor keys on the Commodore keyboard, the user can travel quite smoothly through the directories of the SD-card. ![]() The 1541 "Ultimate" This screen allows the user to select a floppy image to mount (i.e. to change floppy disks) or to create new floppies or new directories. This makes it easy to manage large numbers of floppies. The menu also allows the user to change the IEC address of the 1541 drive by simply pressing 8, 9, 0 or 1. Since this also resets the 1541 drive, it can also be used for a manual reset of the drive. In addition to mounting floppies to the 1541 drive, the user can also select separate program. These can be loaded directly into the memory of the C64, using DMA. Pressing ‘R’ instead of SPACE or RETURN to select the file even runs the program immediately after loading. This operation is possible on separate programs, but also on files within a .d64 or .t64 files (yes you can browse .d64 and .t64 files as well!). As you will start using the 1541 Ultimate, you will notice that it is faster than you have ever seen before on any C64! The user menu can be left by pressing RUN STOP, after which the C64 program continues to run. Because the freezer menu does not run on the processor inside the C64 but on a separate 6502 on the 1541 Ultimate itself, returning to the C64 program is smooth and safe. Help! It is blocking my cartridge slot! Yes, in order for your 1541 Ultimate to work, it has to reside in the cartridge slot. In order to minimize the frustration, the 1541 Ultimate comes with either the Final Cartridge III, or the Action Replay cartridge installed. Needless to say, the speed loaders that are available in these cartridges work together flawlessly with the emulated 1541 drive. 1541 Drive Emulation This cycle-accurate emulation (or implementation rather!) of the 1541 hardware, combined with an accurate emulation of the floppy drive mechanics offers the user a solid and easy to use replacement of a real 1541 drive. It uses an SD-card to store data; floppy data is stored in .D64 images. These images can be ‘mounted’ on the hardware of the “1541 ultimate”, which means that they are converted to GCR format, which the 1541 “drive” can read from and write to. Data written by the drive is converted back from GCR to binary in parallel to the operation of the drive and written back to the .D64 file. ![]() The 1541 "Ultimate" Currently, I am investigating whether it is useful to support .G41 files as well, or any other format to store floppies with custom format on the SD-card. The drive emulation does not put any restriction to the actual format used (aside from it using the GCR syncs, since that is something that the 1541 hardware implements). If you are using custom floppy formats, or would like to use these with the 1541 Ultimate, please let me know. IEC support To serve other Commodore users as well, other than C-64 users, the plan exists to have this cartridge operate as stand-alone unit, too. Since the on-screen menu will not be available in this case, the user needs another method to select the floppy image. This will be done by controlling the 1541 Ultimate through IEC; Commodore’s serial port. Through IEC, the directories on the SD-card can be selected, after which the buttons on the board can be used to switch between floppies within the same directory. This allows swapping disks within a program that doesn’t allow you to send IEC commands. Note that this feature has not yet been implemented. Updates New versions of the software and FPGA for the “1541 Ultimate” can be easily distributed as one file, which is to be put on the SD-card. Upon power-on, the Boot-ROM of the “1541 Ultimate” searches for this file, and when present, it will load and execute it. If not, it falls back to the flashed version. Update May 9, 2007 At this time, some hard work is performed to replace the widespread 1541 disk drive. Our clubmember Gideon Zweijtzer has made an implementation of the 1541 disk drive in an FPGA, and demonstrated one of the first versions of this hardware-emulation on Saturday December 16, 2006 in Maarsen. This prototype used a Xilinx development board. The prototype shows that it is possible to ‘download’ an image of a floppy disk from the PC to the 1541-emulator by means of Ethernet. This image is placed in a memory that the 1541-emulator has access to. The rotation of the disk and the stepper motor that moves the read/write head is mimiced accurately. The achieved compatibility is very high, because this implementation uses the original 1541 ROMs. At this moment the emulator is perfectioned to the point that even difficult speed-loaders such as the one from the Final Cartridge III work well. Parallel to the implementation of the 1541 itself, work is being done on an interface to a SD-card, such that it should be possible to load .D64-files from there, rather than having to download them through Ethernet. These two functions together will appear soon on just one printed circuit-board; one that can be used as cartridge for the C-64. This cartridge will include the 1541-emulator, but will also implement another cartridge, such as the Final Cartridge III. With this cartridge it will be possible to select a floppy image and “put it in the drive’, by means of a menu on the C-64 screen. For the purpose, the cartridge has a ‘third button’. This button functions very similar to the freeze-function of other cartridges, but will be used to bring up a menu to select an image from the SD-card. When the user exists the menu, the Commodore will continue operation. To serve other Commodore users as well, other than C-64 users, the plan exists to have this cartridge operate as stand-alone unit as well. Since the on-screen menu will not be available in this case, the user needs another method to select the floppy image. There are several ideas to do this, but these ideas are not yet completely mature. The hardware is being developed such that new functionality can be added to the emulator system by simply putting some files on the SD-card. The first release will “only” implement the cartridge and the 1541 in its purest form. Update March 30, 2007 Gideon has worked hard last period at his 1541 Ultimate. On this moment is it possible to get a directory on your screen from the SD-card via the IEC bus and to give a command (via IEC) to mount a disk in the diskdrive. Also it is possible now to change the name of the directory on the SD-card. In fact there are two IEC bus ‘drives’: the 1541 itself and a emulated drive who can "talks" directly to the SD-card. Also you can select .D64 files and write them to the 1541 diskdrive. The Final Cartridge III fuctionality is now also part of the 1541 Ultimate cartridge; although the freezer isn't working 100% (that's because the Final works in Ultimax mode and the cartridge doesn't support the VIC cycles). The load of the .D64 files is now reduced to 3 seconds! What are Gideon's bullets for the near future? * full support for writing back whole changed floppies to .d64 files on the SD-card * full support of the Final Cartridge III * C-64 freezer menu for the 1541 diskdrive |