The Star Commander, Version 0.82
The Star Commander, Version 0.82
82
This is still not the final release of The Star Commander. Look out for further releases. Please,
report bugs and ideas to me because I want Version 1.0 to be the final release.
Because it took a significant amount of time to create this documentation, you are expected to read
it thoroughly. For a list of important URL's, where you can find more information about the
Commander and the cables it uses, see the 'Related Net resources' section.
Note: This documentation is meant to be viewed with a monospace font, in IBM code page 437 (US
default for DOS). With a proportional font, tables and drawings will fall apart; with other code
pages, including but not limited to DOS 85x, Windows 125x and ISO 8859-x, some characters will
look strange. You might want to view this file from the Commander itself.
1. Introduction
This program handles the image files of the C64 Software Emulator (C64S, © by Miha Peternel and
Seattle Lab, 1994-1997), the CCS64 emulator (© by Per Håkan Sundell, 1996-2001), Personal C64
(PC64, © by Wolfgang Lorenz, 1994-1997) and VICE (© by the VICE Team, 1993-2001). It copies
files and disks between the PC and external Commodore 1541, 1570, 1571 and 1581 drives and
converts several Commodore archive formats.
It is similar to The Norton Commander (NC, © by Symantec Inc., 1986-1995) and The Volkov
Commander (VC, © by Vsevolod V. Volkov, 1991-2001) so it will surely be easy to use. However,
before you start using it, please, read this documentation and the online help carefully, for the
differences from the other Commanders, the description of the X1541-series interfaces and other
details.
The Commander is giftware. You may use the unregistered version as long as you wish and you
may give it to any individual, provided that it's in the original, unmodified archive. Don't distribute
single files, only the whole package. To avoid confusion, you should download distribution
packages from the homepage or other distribution sites listed below. If you get a package from
somewhere else then make sure that the package has the author's authentic verification stamped on
it.
The unregistered version is in no way crippled, there are no nag screens or delays in it. However, if
you are frequently using the Commander and you are satisfied with it then you are encouraged to
register. Please, read the file REGISTER.TXT for more details. You must not distribute the
personal keyfile you receive when you register.
The source of the Commander is distributed under a public license that is similar to the GNU Public
License but is more restrictive, for the protection of Commander users and the author. You may
distribute only those modified versions or derived programs that satisfy all restrictions in the
license. When you distribute the Commander, modified versions of it or programs derived from it,
you may not ask for money above the normal fee of the distribution media itself. Furthermore, you
may not publish the Commander or its source on floppy disks, CD-ROM's, FTP sites, WWW pages
or any other distribution media, include it in a software compilation or bundle it with other software
or hardware without prior permission of the author.
1
Note that public distribution of the beta releases of the Commander is completely prohibited. The
only public place where you can find them is the homepage.
The Commander is provided "as is", without a warranty of any kind. You are using it at your own
risk. The author is not liable for any damage or data loss caused by the program.
If you produce and sell cables or adaptors that are compatible with these cables – except for the
original X1541 cable –, you must give credits to the respective copyright owner or copyright
owners. If your adaptors are built onto printed circuit boards then you must also make the complete
layout available in a format and resolution that is suitable for high quality reproduction so that
people can build the adaptors themselves, if they want.
This common license for the cables is an agreement among the cable authors. However, because the
author of the original X1541 cable couldn't be contacted, this license does not apply to the original
X1541 cable.
3. System requirements
You must have an IBM or compatible PC with an 80286 processor or higher with MS-DOS 3.20 or
above installed on it and about 470 KBytes of free conventional memory.
Some versions of the Linux dosemu don't like the the OverXMS unit of the Commander for some,
yet unknown, reason. You may also try the Commander under the DOS emulator of OS/2, after
having enabled the HW_TIMER option in the DOS settings. The Commander works quite well in
DOS shells of Windows 3.x and Windows 95/98/ME. For Windows NT/2000/XP, see the tweak
package.
If you want to try accessing a Commodore drive under a multi-tasking system, you must enable the
'Force async transfer' option. Remember that, although some extra functions were implemented in
the Commander to make it run better under multi-tasking systems, you are supposed to run it under
real DOS.
4. Installation
You can install the Commander simply by decompressing the distribution package using PKZIP
2.xx or any other compatible program. You don't need all the files to run the Commander, most of
them are only for your comfort.
Required:
• SCMAIN.EXE: For an absolute minimum installation, you need the main executable.
Recommended:
• SC.EXE: If you want to have much more memory in the DOS shell, keep this loader and
launch it instead of the main executable.
2
• SC.HLP: Keep this to enable the online help.
• SCVIEW.EXE, SCEDIT.EXE: With their help, you can view and edit DOS files and
Commodore files inside image files and uncompressed archive files.
Optional:
• SCSETUP.EXE: Allows you to change the settings of the Commander outside the program.
• *.MNU, *.EXT: Some sample menu and extension files to help you with handling PC and
Commodore archives and formatting PC disks.
• PALETTES.ZIP: Contains some predefined color palettes that resemble the palettes of other
Commanders and Commander clones.
• PRINTHLP.EXE: Run this to extract the online help into a text file or to send it to a printer.
• SC.ICO, SC.PIF, ICONS.ZIP: If you want to use the Commander under OS/2, Windows
3.x, Windows 95/98/ME or Windows NT/2000/XP then these are just for you.
• SC_WINNT.ZIP: Tweak package that allows the Commander to access Commodore drives
under Windows NT/2000/XP. For more details, see the documentation inside the package.
• SU???.ZIP: Contains the Star Utilities, the external utilities that help you with mass-
converting Commodore archive formats. For more details, see the documentation inside the
package.
5. Usage
If you did an absolute minimum installation then start the program with SCMAIN.EXE. If you also
have the loader then start the program with SC.EXE. They accept the following command line
parameters:
Options are case-insensitive and have to start with a slash; unlike in some other DOS programs,
hyphens will not work. Valid options are the following:
The startup command is a DOS command that is executed before the Commander starts up. Note
that the main executable SCMAIN.EXE itself is unable to execute startup commands.
Please, note that there's no documentation on how to use the Commander. However, the context-
sensitive online help contains all information on how to use each function. If you're using the
Commander for the first time then read the online help carefully, to find out what the Commander is
capable of. You might want to use the included help printer program to have the online help printed
into a text file or sent to your printer, for reading it later.
To configure the Commander for your needs, enter the 'Configuration...' item of the 'Options' menu
and go through all options in all configuration screens, reading the corresponding paragraph of the
online help on your way.
3
Proper configuration is especially important if you want to access a Commodore drive from your
PC. Go to the main configuration screen, enter the 'Transfer options' menu and set, at least, the
following options:
• Transfer mode: For 1541, 1570 and 1571 drives, you should set it to 'Warp' because this is
the fastest and most reliable of all. For other drives, leave it on 'Normal'.
• Serial cable: Set the type of your X1541-series serial cable (X1541, XE1541, XM1541 or
XA1541) here. Note that the listed cables are serial, even if you connect them to the parallel
port of the PC. Use 'None' if you connected a real PC printer that would get confused when
the Commander initializes the parallel ports.
• Parallel cable: Set the type of your X1541-series parallel cable (XH1541/ XH1571 or
XP1541/XP1571) here. Use 'None' if you have no parallel cable or you don't want the
Commander to touch the corresponding parallel port.
• Force async transfer: Disable for plain DOS and enable for multi-tasking systems (Linux,
OS/2, Windows 3.x, Windows 95/98/ME, Windows NT/2000/XP). For Windows
NT/2000/XP, also see the tweak package.
• Manual timeouts: You might want to have it disabled all the time.
• Delay value: Press the 'Recalibrate' button, to have a near optimal value computed for your
machine. Note that this value depends on the CPU speed, the operating system and the CPU
load. Make sure to recalibrate whenever using a preconfigured copy of the Commander on
another PC or under another operating system.
• Serial interface: Set the parallel port which your X1541-series serial cable is connected to. If
your parallel port has a non-standard address, select one of the custom slots and enter the
port address in hexadecimal notation.
• Parallel interface: Set the parallel port which your X1541-series parallel cable is connected
to. If your parallel port has a non-standard address, select one of the custom slots and enter
the port address in hexadecimal notation.
• Detect port modes: Enable it, to have warnings displayed about possible transfer problems.
However, this may cause strange behavior or certain hardware, including lockups. Also,
under Windows NT/2000/XP, it may cause long delays. In such cases, disable this option
and hard reboot your PC or restart the DOS shell.
• Drive type: Set the type of your Commodore drive here. For more details, see section
'Commodore drives' in the online help.
Under certain circumstances, the usage of the parallel ports may cause strange behavior:
• After having started the Commander, not even a printer can be accessed anymore, until the
PC is rebooted. Possibly, your parallel port falls into an unusable state when the
Commander tries to detect its mode. Disable 'Detect port modes' and reboot your machine.
• There is a complete system lockup whenever the Commander is started. Very few parallel
ports lock up the hardware when their mode is probed. Set your parallel port to another
mode in the BIOS setup and try again. If none of the modes work without a lockup, disable
'Detect port modes'.
• Under Windows NT/2000/XP, there are long delays upon startup or a few seconds/minutes
after the Commander has started. When the Commander tries to detect the mode of the
parallel port, Windows gets confused. Disable 'Detect port modes' and restart the DOS shell
and the Commander.
• Under Windows NT/2000/XP, when a real PC printer is attached, a page with garbage
characters is printed upon every startup of the Commander. When the Commander
initializes the parallel ports, Windows may think it wants to print something and it forwards
bogus data to the printer. Set 'Serial interface' to 'None' to skip parallel port initialization.
If you specify the "/nolpt" option upon startup, these problems should be gone – although you will
be unable to use Commodore drives. If the problem is still there then it's not because of the way the
Commander accesses parallel ports.
4
If you have problems with accessing Commodore drives from your PC, you can find more solutions
in the 'Troubleshooting' section of this documentation.
6. Advantages
The following features make the Commander the best of its kind:
5
• | 210 block file copy | Read from the 1541 | Write to the 1541
|
• +---------------------+----------------------+---------------------
--+
• | Normal mode | 2:20 | 2:25
|
• +---------------------+----------------------+---------------------
--+
• | Turbo mode | 1:00 | 1:01
|
• +---------------------+----------------------+---------------------
--+
• | Warp mode | 0:26 (*) | 0:26 (*)
|
• +---------------------+----------------------+---------------------
--+
• | Hybrid turbo mode | 0:22 | 0:24
|
• +---------------------+----------------------+---------------------
--+
• | Hybrid warp mode | 0:18 (*) | 0:10 (*)
|
• +---------------------+----------------------+---------------------
--+
• | Parallel turbo mode | 0:22 | 0:24
|
• +---------------------+----------------------+---------------------
--+
• | Parallel warp mode | 0:10 (*) | 0:10 (*)
|
• +---------------------+----------------------+---------------------
--+
• Most of the image file handling routines are faster than those of the other similar utilities.
• Hopefully, you remember Disk-Demon, the great C64 disk editor, written by G. Brandt and
A. Wellie in 1986/87. A similar disk editor is built into the Commander so that you can
modify data in disk images and on disks in Commodore drives directly.
• The Commander can optionally display everything with the C64 character set (only on
EGA/VGA video cards).
The serial connection is done using the X1541 interface or its substitutes. If you only have an EPP
or ECP port then you have to substitute the X1541 interface with the XE1541, XM1541 or XA1541
interface.
If you already have one of the serial cables mentioned above and want to achieve a much higher
transfer speed and you're willing to modify your 1541, 1570 or 1571 drive and you have a
bidirectional parallel port then you can make use of the XP1541 or XP1571 parallel interface. If you
only have a unidirectional parallel port then the XH1541 or XH1571 hybrid interface gives you the
best performance. You can find the description of all interfaces in the following section.
The Commander was designed to access Commodore drives under plain DOS only. If you wish to
do that under a multi-tasking system then you should either use the XH1541 or XH1571 hybrid
cable or the XP1541 or XP1571 parallel cable or, if having a serial cable only, enable the 'Force
6
async transfer' option. Still, it's not guaranteed to work absolutely error free. Boot real DOS, remove
memory managers, device drivers and other resident programs, if having problems.
The Commander has a machine independent synchronization method that uses the hardware system
timers. The automatic calibrator inside the Commander tries to find a delay value that makes your
PC communicate with the Commodore drive at the exact speed of the drive. However, if you
encounter transfer problems or you want to fine tune the transfer speed then you may want to raise
or lower the delay value in the 'Transfer options' menu manually.
The Commander is equipped with optional fast transfer modes. In turbo mode, it transfers data from
and to the external Commodore drive about 2-3 times faster and, in warp mode, 5-6 times faster. If
you also connect your Commodore drive with the XH1541 or XH1571 hybrid cable to the PC,
using turbo mode, the data transfer will be 6-12, with warp mode, 6-20 times faster. The XP1541 or
XP1571 parallel cable gives you 6-12 times the original speed in turbo mode and is 10-20 times
faster in warp mode. The Commander has turbo and warp command routines, as well. These speed
up deleting files and validating disks to 2-10 times the original speed (depending on the number and
length of the files on the disk) and formatting a disk takes only about 12 seconds.
The Commander supports the following Commodore drives, including all models and compatible
clones:
To use the built-in drive of a C128D or an SX64, see the 'Troubleshooting' section.
Here is the description of the X1541-series interfaces, with which you can connect a Commodore
drive to your PC to use with the Commander.
If you don't want to read through this complete chapter then you should, at least, read the most
important facts about the cables and their compatibility with parallel ports of different modes.
If you'd like to build cables and compatible adaptors yourself then you can find a more detailed
description of them at the cables and adaptors pages. If you're not good at at soldering then visit The
X1541 Shop and buy cheap but good quality cables and adaptors there.
If you're having problems with your cable, you should download XCTest from the useful external
programs page and test your cable with it.
• The X1541 cable works on older type SPP and PS/2 parallel ports, ones that have
bidirectional control lines. The parallel port on I/O controller cards for 286, 386 and 486
machines and on Hercules video cards and the integrated parallel port of most newer 486
motherboards support the X1541 cable but only certain Pentium motherboards have
compatible parallel ports. On motherboards with an integrated parallel port, you have to set
the mode of the parallel port to SPP because the X1541 cable won't work with EPP and ECP
parallel ports. However, on many newer motherboards, there's absolutely no way to make
7
the X1541 cable work because the control lines are not bidirectional in any mode of the
parallel port. You can test your parallel port's compatibility with the X1541 cable using
X1541Test. If it proves to be incompatible then you need one of the other serial cables.
• The XE1541 extended cable is a substitution for the X1541 cable. Its advantage is that
works in all modes of all parallel ports. Its drawbacks are that you need special diodes to
build it and that only a few programs support it. Please, note that this cable has problems
with motherboards that use the ALI 5 chipset and certain laptops. On these machines, use
the XA1541 active cable instead.
• The XM1541 multitask cable differs from the XE1541 extended cable in two wires swapped
at the Commodore end. This enables other transfer programs to use interrupts rather than
polling for handshake with the external Commodore drive. Its drawbacks are similar to the
XE1541 extended cable. It's supported by less programs than the XE1541 extended cable,
however, it works under Linux, as well.
• The XA1541 active cable is similar to the XM1541 multitask cable but it uses transistors
and resistors instead of diodes. This makes it the ultimate transfer cable because it works
with all kinds of parallel ports, including the ones the XE1541 extended cable and the
XM1541 multitask cable have problems with. Again, it is supported by only a few
programs. This cable also works under Linux.
• The XP1541 parallel cable speeds up communication with a Commodore 1541 drive via a
PS/2, EPP or ECP parallel port where the data lines are bidirectional. Its advantage is that
both sending data to and receiving data from the drive becomes 3 times faster. Its
disadvantages are that you have to modify your drive internally so that you can connect this
cable to a parallel plug on the drive. Also, its need for a bidirectional port excludes the
possibility to use it along with the X1541 cable, except on PS/2 ports. You can't use this
cable alone, only together with one of the serial cables above.
• The XP1571 parallel cable is a modified version of the XP1541 parallel cable, designed for
1570 and 1571 drives. Except for the periphery chip used in the Commodore drive, it is the
same concept as the XP1541.
• The XH1541 hybrid cable speeds up communication with a Commodore 1541 drive drive in
all modes of all parallel ports. Its advantage is that sending data to the drive becomes 3
times, receiving data becomes 1.5 times faster. Its disadvantage is that you have to modify
your drive internally so that you can connect this cable to a parallel plug on the drive. You
can't use this cable alone, only together with the X1541 cable. You can't use this cable
together with the other serial cables on the same port, because of the conflict between the
pins used by the two cables on the PC parallel port.
• The XH1571 hybrid cable is a modified version of the XH1541 hybrid cable, designed for
1570 and 1571 drives. Except for the periphery chip used in the Commodore drive, it is the
same concept as the XH1541.
• If you only have one parallel port but want to use the XH1541 or XH1571 hybrid cable or
the XP1541 or XP1571 parallel cable then you can create a Y-shaped cable. One end plugs
into the PC parallel port and the two other ends plug into the serial and parallel ports on the
drive. You can use the X1541 cable together with the XH1541 or XH1571 hybrid cable on
an SPP parallel port; the X1541 cable together with the XP1541 or XP1571 parallel cable on
a PS/2 parallel port; and the XE1541 extended, XM1541 multitask or XA1541 active cable
together with the XP1541 or XP1571 parallel cable on a PS/2, EPP or ECP port. You can't
use the other serial cables together with the XH1541 or XH1571 hybrid cable on the same
port, because of the conflict between the pins used by the two cables on the PC parallel port.
The mode of your parallel port is a vital feature that determines which cables you can use with your
machine so try to find out all the modes of your parallel port. Older I/O and parallel port cards only
have the unidirectional SPP mode, most Pentium and newer 486 motherboards have integrated
8
parallel ports and allow you to set the port mode in the BIOS setup, with the usual choices of SPP,
EPP and ECP.
It's possible that, when changing the mode of the integrated parallel port in your BIOS setup, you
won't find the necessary modes as they are called in this documentation. Some BIOS setups have
different names for the port modes. Compatible, Normal and Standard usually refer to SPP,
Extended possibly means PS/2 or EPP and Enhanced stands for EPP or ECP.
Below you find some advices about which cables to use with a given parallel port mode and vice
versa. They are based on the fact that most SPP and PS/2 parallel ports support the X1541 cable and
most EPP and ECP parallel ports don't. However, because of the lack of strict standards, there are
exceptions to these rules: there exist SPP and PS/2 parallel ports that don't support the X1541 cable
and it's also possible that certain EPP and ECP parallel ports do support it. You have to determine
the true capabilities of your parallel port yourself before choosing the cables to use.
If you have a unidirectional SPP parallel port then you can use the X1541 cable and, optionally, the
XH1541 or XH1571 hybrid cable, for the highest speed possible on SPP ports. If you have a
bidirectional PS/2 parallel port then you can use any of the cables. For maximum speed, you're
advised to use the X1541 cable and the XP1541 or XP1571 parallel cable together. The X1541
cable doesn't work with most parallel ports in EPP and ECP mode. You will have to configure them
to SPP mode with the BIOS setup program or with jumpers. If the Commander still doesn't work
then you have to use one of the other three serial cables that substitute the X1541 cable.
The X1541 interface is the easiest of all. You only have to connect certain pins of the serial port of
the Commodore drive and pins of the parallel port of the PC. You need some plugs, some wires and
some soldering skills. The XE1541 and XM1541 interfaces are not much harder, they only needs
some diodes. However, the XA1541 interface needs a couple of resistors and SMD transistors
which are quite hard to solder. Also, the XH1541, XH1571, XP1541 and XP1571 interfaces are
relatively hard to build as you need to do some modifications inside your Commodore drive. If
you're not experienced at soldering then don't even think about doing them yourself. In addition, the
XH1541 and XH1571 interfaces also need some diodes.
The following tables may help you to decide which cables suit your needs best. Depending on your
parallel port hardware, your soldering skills and your patience, you may choose the cables that will
work best for you.
This table is a compatibility chart between different parallel port modes and different interfaces.
+-------------------------------+---------+---------+---------+
| Compatibility | SPP | PS/2 | EPP/ECP |
+-------------------------------+---------+---------+---------+
| Normal (X1541) | yes | yes | no |
+-------------------------------+---------+---------+---------+
| Extended (XE1541) | yes | yes | yes |
+-------------------------------+---------+---------+---------+
| Multitask (XM1541) | yes | yes | yes |
+-------------------------------+---------+---------+---------+
| Active (XA1541) | yes | yes | yes |
+-------------------------------+---------+---------+---------+
| Hybrid (XH1541 or XH1571) | yes | yes | yes |
+-------------------------------+---------+---------+---------+
| Parallel (XP1541 or XP1571) | no | yes | yes |
+-------------------------------+---------+---------+---------+
Again, the standard X1541 cable doesn't work on most Pentium-class machines. You can test the
compatibility of your parallel port with X1541Test. Also, the XE1541 extended cable and the
XM1541 multitask cable don't work on motherboards with the ALI 5 chipset and certain laptops.
Unfortunately, there is no way of testing this compatibility with purely software.
9
This table shows the ways to achieve different speeds on a single parallel port in different modes.
+-----------------+-----------+-----------+-----------+
| Single port | SPP | PS/2 | EPP/ECP |
+-----------------+-----------+-----------+-----------+
| Minimum speed | Normal | Normal | Extended/ |
| | (1) | (1) |Multitask/ |
| | | | Active |
+-----------------+-----------+-----------+-----------+
| Medium speed | Normal+ | Normal+ | |
| | Hybrid | Hybrid | |
| | | (1) | |
+-----------------+-----------+-----------+-----------+
| Maximum speed | | Normal+ | Extended/ |
| | | Parallel |Multitask/ |
| | | | Active+ |
| | | | Parallel |
+-----------------+-----------+-----------+-----------+
Notes:
(1) This is not the maximum performance for your parallel port, you may want to use another cable
configuration.
These tables show the ways to achieve different speeds on two parallel ports of different modes.
The first cable refers to the primary parallel port, whose mode is indicated by the table title. The
second refers to the secondary parallel port, whose mode is indicated by the column title. Note that
when you're advised to swap your parallel ports then it's meant to be a logical swap, not a physical
one.
+---------------------+-----------+-----------+-----------+
| Two ports, | SPP | PS/2 | EPP/ECP |
| primary is SPP | | | |
+---------------------+-----------+-----------+-----------+
| Minimum speed | Normal | Normal | Normal |
| | (1,2) | (1,2,3) | (1,2) |
+---------------------+-----------+-----------+-----------+
| Medium speed | Normal+ | Normal+ | Normal+ |
| | Hybrid | Hybrid | Hybrid |
| | (2) | (1,2,3) | (1,2) |
+---------------------+-----------+-----------+-----------+
| Maximum speed | | Normal+ | Normal+ |
| | | Parallel | Parallel |
+---------------------+-----------+-----------+-----------+
Notes:
(1) This is not the maximum performance for your parallel ports, you may want to use another cable
configuration.
(2) You don't need two parallel ports for this cable configuration, you can hook the indicated cables
up to the primary parallel port.
(3) This is not the maximum performance for your parallel ports. Swap your parallel ports and try
again.
+---------------------+-----------+-----------+-----------+
| Two ports, | SPP | PS/2 | EPP/ECP |
| primary is PS/2 | | | |
+---------------------+-----------+-----------+-----------+
| Minimum speed | Normal | Normal | Normal |
| | (1,2) | (1,2) | (1,2) |
+---------------------+-----------+-----------+-----------+
| Medium speed | Normal+ | Normal+ | Normal+ |
| | Hybrid | Hybrid | Hybrid |
| | (1,2) | (1,2) | (1,2) |
10
+---------------------+-----------+-----------+-----------+
| Maximum speed | Normal+ | Normal+ | Normal+ |
| | Parallel | Paralell | Parallel |
| | (2) | (2) | (2) |
+---------------------+-----------+-----------+-----------+
Notes:
(1) This is not the maximum performance for your parallel ports, you may want to use another cable
configuration.
(2) You don't need two parallel ports for this cable configuration, you can hook the indicated cables
up to the primary parallel port.
+---------------------+-----------+-----------+-----------+
| Two ports, | SPP | PS/2 | EPP/ECP |
| primary is EPP/ECP | | | |
+---------------------+-----------+-----------+-----------+
| Minimum speed | (1) | (1) | Extended/ |
| | | |Multitask/ |
| | | | Active |
| | | | (2) |
+---------------------+-----------+-----------+-----------+
| Medium speed | (1) | (1) | Extended/ |
| | | |Multitask/ |
| | | | Active+ |
| | | | Hybrid |
+---------------------+-----------+-----------+-----------+
| Maximum speed | (1) | (1) | Extended/ |
| | | |Multitask/ |
| | | | Active+ |
| | | | Parallel |
| | | | (2) |
+---------------------+-----------+-----------+-----------+
Notes:
(1) You shouldn't have an EPP/ECP parallel port as your primary port. Swap your parallel ports and
try again.
(2) You don't need two parallel ports for this cable configuration, you can hook the indicated cables
up to the primary parallel port.
The following diagrams are pictured as viewed from the solder end (back side) of the plug. It may
be of help to you that the numbers are often printed in small letters onto the plug itself. When
wiring the interface cables, make sure that they are not too long. A cable longer than about two
meters (eight inches) will possibly not work, especially if it isn't shielded at all.
PaperEnd Busy
SelectIn | | Ack Data 7 – Data 0 Strobe
| | | | +-------------+-------------+ |
V V V V | | V
+------------------------------------------------------+
| 13 12 11 10 9 8 7 6 5 4 3 2 1 |
| o o o o o o o o o o o o o |
+-+ +-+
| o o o o o o o o o o o o |
| 25 24 23 22 21 20 19 18 17 16 15 14 |
+--------------------------------------------------+
| | ^ ^ ^ ^
+-------------+-------------+ | | | |
Ground Select | | AutoFeed
Init Error
11
The Commodore drive serial bus plug (male 6-pin DIN connector):
Reset
|
V
+-------+ +-------+
+-+ +-+ +-+
| 5 1 |
Data --> | o 6 o | <-- SrqIn
| o |
| 4 2 |
Clk --> | o 3 o | <-- Gnd
| o |
+-+ +-+
+-----------------+
^
|
Atn
Commodore drive periphery chips are displayed as viewed from above. The small semicircular cut
may help you with finding the correct orientation.
| | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 40 21 |
|) |
| 1 2 9 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | | | | | | | | | |
| |
+------+------+
PA0 – PA7
You can find the VIA#1 by searching for a chip on the motherboard that has the type number 6522
on it and none of its pins 2-9 are connected to any other chip.
| | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 40 21 |
|) |
| 1 10 17 20 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | | | | | | | | | | | | |
| |
+------+------+
PB0 – PB7
The CIA chip has the type number 6526, 8520 or 8521 on it.
The original specification of the X1541 interface requires the short connection of pins 2 and 15 on
the parallel port plug. The X1541 program uses it for autodetection, the Commander doesn't make
use of it. If you intend to use other transfer programs with your interface then you might want to do
this alteration, as well.
You have to connect the X1541 interface to an SPP or PS/2 parallel port as the lines used by this
cable are not necessarily bidirectional on EPP and ECP parallel ports.
This interface, unlike the X1541 interface, needs electronical components, namely diodes. These
decouple the control lines of the PC parallel port while data is coming from the Commodore drive.
You have to solder them right before each of pins 1, 14, 16 and 17, their cathodes – the end marked
with a small band – pointing towards the pins. It is highly recommended to use 1N5819 or BAT85
diodes only, other diodes may make the cable inoperable on some hardware configurations.
Please, read the chapter of the XE1541 extended cable for more details. As you can see, the only
difference is that the multitask cable has pins 5 (Data) and 6 (Reset) swapped in the Commodore
plug.
13
This interface needs electronical components: transistors and resistors. These enhance signals while
data is going to the Commodore drive and decouple the control lines of the PC parallel port while
data is coming from the Commodore drive. You have to solder the enhancers right before each of
pins 1, 14, 16 and 17; see the circuit diagram zoomed below. It is highly recommended to use
BSV52 transistors and (SMD 1206-style) 4.7 kOhm resistors only, other transistors or resistors may
make the cable inoperable on some hardware configurations.
In the enhancer, the collector is connected to the Commodore pin; the base is connected to the PC
output pin, via a resistor; the emitter pin has to be to any or, preferably, all of pins 18-25 on the
parallel port.
The BSV52 transistor has its pins laid out the following way:
C
+--+
+--+--+--+
| |
+--+--+--+
+--+ +--+
B E
This picture displays the transistor as viewed from above. Note that this pin layout belongs to the
BSV52 transistor only, others may have their pins laid out differently. Also, the BSV52 transistor is
a very small SMD component which makes its manual soldering quite difficult.
If you don't wish to solder SMD components then a possible substitute for the BSV52 transistor is
the 2N3904 transistor. Please, note that using this transistor is not recommended at all, as it may
make the cable inoperable on some hardware configurations.
The 2N3904 transistor has its pins laid out the following way:
+------
| o C \
| \
| o B |
| /
| o E /
+------
This picture displays the transistor as viewed from below, where its pins are. Note that this pin
layout belongs to the 2N3904 transistor only, others may have their pins laid out differently.
14
2 PA0 --------+---- 13 SelectIn
+->|-- 2 Data 0
3 PA1 --------+---- 12 PaperEnd
+->|-- 3 Data 1
4 PA2 --------+---- 10 Ack
+->|-- 4 Data 2
5 PA3 --------+---- 11 Busy
+->|-- 5 Data 3
6 PA4 ---------->|-- 6 Data 4
7 PA5 ---------->|-- 7 Data 5
8 PA6 ---------->|-- 8 Data 6
9 PA7 ---------->|-- 9 Data 7
These interfaces need diodes. You have to solder them right before each of pins 2-9 of the PC
parallel port, their cathodes – the end marked with a small band – pointing towards the parallel port
pins. A suggested diode for this interface is the standard 1N4148 or equivalent.
You can connect the XH1541 and XH1571 interfaces to any type of parallel port. They have no
common lines with the X1541 interface therefore you can connect them, along with the X1541
interface, to the same SPP or PS/2 parallel port, using a Y-shaped cable. The XH1541 interface only
works with Commodore 1541 drives and compatible clones. The XH1571 interface only works with
Commodore 1570 and 1571 drives and compatible clones.
You have to connect the XP1541 and XP1571 interfaces to a PS/2, EPP or ECP parallel port as on
SPP parallel ports the data lines are unidirectional. If you have a PS/2 parallel port then you can
connect the X1541 and XP1541 or the X1541 and XP1571 interfaces to the same parallel port,
using a Y-shaped cable. If you have an EPP or ECP parallel port then you should use the XE1541,
XM1541 or XA1541 interface rather than the X1541 interface. Alternatively, you can build two
separate cables and buy a secondary old SPP parallel port card for the X1541 interface. The
XP1541 interface only works with Commodore 1541 drives and compatible clones. The XP1571
interface only works with Commodore 1570 and 1571 drives and compatible clones.
Please, note that none of the XH1541, XP1541, XH1571, or XP1571 interfaces is a substitute for
the serial cables. You have to connect two cables to the Commodore drive and the PC at the same
time to acquire the enhanced transfer capabilities. Don't connect the XH1541, XP1541, XH1571 or
XP1571 cable alone to the Commodore drive: none of them contain a GND line so plugging them
without a serial cable may short circuit your machines and, possibly, damage the periphery chips.
Always connect the XH1541, XP1541, XH1571 or XP1571 interface to your Commodore drive and
your PC before switching either of them on and switch both machines off before pulling the cables
out.
In 1541 drives, nothing is defined to any of the bits of Port A. You can solder the XH1541 interface
and the XP1541 interface without any problem.
In 1541C drives, bit 0 of Port A is used for the detection of the head being over track 1. After
stripping this connection off of the chip, you will have to replace the DOS ROM with that of the
1541 or the 1541-II. Otherwise you'll get strange results when the drive is seeking: the DOS tries to
rely on the detector line which doesn't exist anymore.
In 1541-II drives, bit 0 of Port A is grounded, strip this connection off of the chip.
In 1570 and 1571 drives, there are several lines connected to the bits of Port A of VIA#1. You can't
use the XH1541 interface or the XP1541 interface with them. However, you can use the XH1571 or
XP1571 interfaces, cables of the same design as the XH1541 and XH1571 interfaces, to a different
chip, namely the CIA, most of whose pins are unused in these drives.
1581 drives are completely different from the aforementioned members of the Commodore drive
family. You can't use the XH1541, XP1541, XH1571 or XP1571 interfaces with them.
If you already have a floppy speeder like Speed DOS or Dolphin DOS in your 1541, 1570 or 1571
drive then you probably have a parallel plug at its rear. In this case, you have many options of
implementing the XH1541, XP1541, XH1571 and XP1571 interface. You can create another cable
to connect the drive to the PC with. You can also split the cable between the drive and the C64 into
a Y-shaped cable, one end plugging into the drive, another into the C64 and the third one into the
PC. In this case, remember not to plug the cable into the C64 and the PC at the same time.
However, your best choice is creating a small adaptor that imitates the C64 user port on one side
and plugs into the PC parallel port on the other side.
If your 1541 or 1571 drive has no parallel capabilities then you might still want to create a plug at
its rear. This way there will be no cable always hanging out of the drive. With another cable, you'll
be able to use parallel transfer with the C64, too. Please, note that parallel copy programs for the
C64 may require some additional connections on the VIA or CIA chip of the drive. Read their
documentation before soldering so that you can connect the additional pins to the parallel plug, if
needed.
16
9. Technical background information
There are three types of lines on PC parallel ports: data lines are used to transfer data bytes between
the PC and the external device; control lines are used by the PC to send control signals to the
external device; status lines are used by the external device to send status signals to the PC.
From the PC side, logically, data lines should be used for both input and output, control lines for
output only, and status lines for input only. But this is not exactly the case. On the early SPP
parallel ports, data lines can only be used for output; this is what we call a unidirectional parallel
port. Note that this expression is mainly used for the usage of the data lines. Furthermore, with a
little trick, the control lines can be used not only for output but for input, as well.
On these early SPP parallel ports, the port pins are connected via open collectors to the chipset on
the I/O controller card: there is a resistor between 5.0 V and the pin and a transistor between GND
and the pin. The transistor is controlled by the chipset which, on the other hand, is controlled by the
software. When the corresponding port bit is set to one, the transistor opens and the resistor pulls
the signal level on the pin to high, a voltage level of between 3.5 V and 4.5 V. When the port bit is
cleared to zero, the transistor closes and pulls the signal level to low, between 0.0 V and 0.4 V. The
reason for the differences of the voltage intervals is that the transistor can pull stronger than the
resistor.
On Commodore drives, the pins of the serial port are also connected via open collectors to the
periphery chip. When there are open collectors on the two ends of the same cable then three
possibilities exist. If both ends pull the line low then the actual signal level, that can be read by both
parties, will be low. If both ends pull the line high then the result will be a high signal. However, if
one end pulls the line high and the other one pulls it low then, again, because of the strength of the
transistor, the signal level will become low. The PC or the Commodore machine can pull the line
high and low and the drive will be able to read this signal. However, if the machine pulled the line
high then the drive will also be able to signal back, by pulling the line low. This is the only way to
input data from the drive and this is exactly how Commodore machines and PC's, that use an X1541
interface, work.
It is still a mystery why the original parallel port, designed by IBM, is a unidirectional parallel port.
The port wouldn't have been more expensive if it allowed the software to switch the data lines into
input mode. Actually, many parallel port cards are designed to be bidirectional but are crippled
down to unidirectional mode. The way to enable bidirectional mode on these cards is described at
the end of this chapter. Such bidirectional SPP ports are often called PS/2 parallel ports.
However, with the introduction of high-speed peripherals, open collectors started to be replaced by
totem poles: there are two transistors, one between 5.0 V and the pin, the other between GND and
the pin. The two transistors are controlled in an inverted way: at a time, exactly one of them is open
and the other is closed. When the port bit is cleared to zero then, as before, the transistor on the
GND side closes and pulls the line low. However, when the port bit is set to one then it is also a
transistor that pulls the line high. This way, the high signal level is a voltage of very close to 5.0 V,
as opposed to between 2.8 V and 5.0 V in the open collector, and the speed of switching between
signal levels is also significantly higher, allowing more data to be transferred within a given interval
of time.
On most Pentium and newer 486 motherboards, the pins of the integrated parallel port are
connected via totem poles to the chipset. When a totem pole in the PC pulls the line high then it
does that with a transistor. If the drive tries to pull the line low, to send a signal, then it also does
that with a transistor. The two transistors will be fighting against each other and the outcome is
unknown: the signal level may remain at high, if the transistor on the PC side is stronger; or become
low, if the transistor in the drive is the stronger one. Most of the time, the transistors in the PC seem
to be stronger and, therefore, no data can be input from the Commodore drive. And it is not only
17
totem poles that can render transfer programs unable to work. The chipset on some other
motherboards doesn't even contain the circuitry needed to read the signal level on lines other than
the status lines.
The new enhanced parallel ports, EPP and ECP ports, have bidirectional data lines so that data can
be read from a hard disk or a scanner connected to the PC. However, as described above, their
control lines are not bidirectional anymore. Additionally, on some motherboards, control lines are
unidirectional even when the port is switched to SPP mode via the BIOS setup. The X1541 cable
won't work on these parallel ports. If you can't make transfer programs work with your motherboard
then you should stop testing immediately, because the fights between transistors put stress on the
chips on both sides. You should rather build one of the other serial cables which are slightly
different from the X1541 cable and work on more parallel ports.
The X1541 cable is of the simplest design. It connects pins of the Commodore serial port and the
PC parallel port without any conversion or wire split. So that the PC is able to also input data from
the Commodore, not only output to it, it definitely needs the lines, it uses, to be bidirectional. If they
are not then the cable doesn't work at all, no matter what software you're using with it.
The XE1541 cable connects wires, coming from the Commodore end, to two pins on the parallel
port. One of these pins belongs to a control line and there is a Schottky-diode in front of it. This is
the line via which data is sent to the Commodore. The other pin belongs to a status line which is
used to receive data. Because control lines can be used for output and status lines for input on any
parallel port, this solves the problem with the X1541 cable. When the PC expects the Commodore
to send to data, it sets the control line to a high level and listens to the signal level on the status line.
The diode prevents current from flowing from the PC end, therefore, the Commodore is free to set
the line to whatever level it wants to. Without the diode, the output lines of the PC and the
Commodore would be fighting with each other, as described above.
The XM1541 cable has only two wires swapped at the Commodore end. This results in the DATA
line of the Commodore being connected to the ACK line of the PC parallel port. This latter line is
the only one that is capable of generating interrupts on the PC. This way, when the PC is waiting for
the next handshake arriving from the Commodore, it can do that by enabling the "ACK generates
interrupt" feature and halting its execution. When the interrupt occurs, the PC can also continue
with the next handshake. Until this happens, the program uses no CPU time because it's not running
at all. This interrupt method uses significantly less CPU time than polling, that is, running in an
endless loop that checks the signal level again and again. This is important for true multi-tasking
systems such as Linux and Windows NT/2000/XP.
The XA1541 cable is derived from the XM1541 cable. It also has the two wires swapped at the
Commodore end, therefore, it also improves overall performance under a multi-tasking system.
However, it corrects a problem with the XE1541 and XM1541 cables that occurs with certain
parallel ports that are on the edge of the original IBM specification. According to the specification,
the low level of a line means that the voltage is between 0.0 V and 0.4 V. When a Schottky-diode is
applied onto this line then the voltage may go up to even 0.8 V because the typical voltage rise of
such diodes is about 0.4 V. Unfortunately, this 0.8 V is also just the edge of the low level
recognized by a Commodore. For a Commodore, voltages between 0.0 V and 0.8 V are low; 2.8 V
to 5.0 are high; 0.8 V to 2.8 V are unknown. In the latter case, it is also unknown what the software
running in the Commodore will see: sometimes a high, sometimes a low level. It is worth
mentioning that exactly this is why Schottky-diodes were chosen for the XE1541 and XM1541
cables: other diodes raise the voltage even more.
Instead of diodes, the XA1541 cable uses transistors and resistors. If the PC needs to pull the signal
level to low on the wire then it sends out a high level on the parallel port. This closes the transistor
between the wire and the ground. Because the transistor is strong, it can pull the signal level to
typically at most 0.2 V which is accepted as a low level by the Commodore, as well. This voltage
18
depends on the transistor but not on the voltage coming from the parallel port. Therefore, whatever
parallel port you have, including the ones that are not compatible with the XE1541 and XM1541
cables, the resulting voltage will be enhanced to an acceptable level by the transistor. The resistor is
used to adjust the working point of the transistor for optimum performance. Because a transistor
will amplify currents, the base current has to be adjusted to a value that results in the needed output
current. If the input current is too high, the transistor will work slower than it should be able to; if
the input current is too low, the transistor will not switch reliably.
You can convert unidirectional SPP parallel port cards into a bidirectional PS/2 port by
disconnecting pin 1 of the data latch 74LS374 from ground and connecting it to one of the output
pins on the control latch 74LS174. This pin can be any of pins 2, 5, 7, 10, 12 or 15 and must not be
connected to any other chip on the board. The corresponding input pin (3, 4, 6, 11, 13 or 14) must
be connected to bit 5 of the data bus. If this is not the case on your card then you can access this bit
from the data latch. Find out which one of its output pins (2, 5, 6, 9, 12, 15, 16 or 19) is connected
to pin 7 of the parallel port connector and get bit 5 from the corresponding input pin (3, 4, 7, 8, 13,
14, 17 or 18).
10. Troubleshooting
If you encounter problems in this program, first of all, visit the homepage and download the very
latest (beta) release as it may have the bug, which you have run into, already fixed. Also, its
documentation may have more ideas on what to try when that particular problem occurs.
If you find a problem that is not related to accessing an external Commodore drive, you should
contact me with a detailed description of the bug, including a guide on how to reproduce it. See the
next chapter on how a proper bug report should look like. However, if you can't access the external
Commodore drive properly, here are some ideas for you.
Bare boot your computer, disable all resident programs, memory managers and device drivers. Exit
multi-tasking systems such as Linux, OS/2, Windows 3.x, Windows 95/98/ME or Windows
NT/2000/XP. These circumstances may affect data transfer. Boot plain DOS on your machine or
boot your Windows operating system in DOS mode and strip everything, you don't need, off your
AUTOEXEC.BAT and CONFIG.SYS files. You may create a boot menu or a boot disk, too. Note
that you definitely need the tweaking package to access Commodore drives under Windows
NT/2000/XP.
During your test, don't plug anything other than the serial interface into your PC parallel port and
your Commodore drive. From your PC, remove dongles, parallel port switches and other devices
that may filter data transfer via the parallel port. From your Commodore drive, remove daisy
chained other drives, peripherals and Commodore machines.
If the connection with the Commodore drive locks up then switch the drive off and pull the serial
interface out of it. Wait for the error message "Drive not present", plug the interface back and turn
the drive back on. Optionally, you can reset the drive, e.g. with Control-Alt-Backspace. Then try the
following.
If you get completely confused, you may want to simply delete the SC.INI file and start configuring
the Commander again from scratch.
Switch 'Transfer mode' to 'Warp' in the 'Transfer options' menu. This is not only the fastest transfer
mode but the most reliable, as well. If you're experiencing problems during disk commands then
switch 'Command exec mode' to 'Warp' in the 'Drive options' menu. This will make the Commander
use its own, more stable, programs for disk commands.
19
Raise or lower the delay value in the 'Transfer options' menu. It is very sensitive so change it at
steps of one, with a butterfly method: add one to the original value; subtract one from the original
value; add two; subtract two etc. The highest delay value you can use without transmission
problems is the optimum. You can use the 'Recalibrate' button to have the – hopefully best – delay
value calculated for you. Note that you definitely have to change the delay value if you started using
the Commander under another operating system, e.g. switched from DOS to Windows or vice versa.
The optimal delay value depends on the effective CPU speed of your PC which, in turn, is affected
by the raw CPU speed, the operating system you use and the current CPU load.
Check, in the 'Transfer options' menu, if you have correctly set the type of the serial cable and the
parallel port it is connected to. Do the same with the parallel cable, in case you have one. If you
have no additional cable, besides the serial cable, then set the parallel cable to 'None'.
If you really want to access the Commodore drive via a serial cable under a multi-tasking system
then enable the 'Force async transfer' option in the 'Transfer options' menu. Without that, you would
most probably experience frequent lockups or timeouts. For Windows NT/2000/XP, see the tweak
package. First, you should test the connection under plain DOS though. You might want to try the
async transfer feature under plain DOS, as well, if you experience transmission problems.
Under Windows, open the 'Properties' windows of the DOS shell, that the Commander is running
in, go to the 'Misc' tab and set 'Idle sensitivity' to 'Low', the left end of the slider. This gives more
CPU time to the Commander.
Turn 'Manual timeouts' on or off. While it usually helps under plain DOS, it may turn things even
worse under a multi-tasking system. Also, when it is enabled, the Commander doesn't really like it
if you touch the keyboard or the mouse during its communication with the Commodore drive.
Check whether the address and mode of your parallel port is detected and displayed correctly in the
'Transfer options' menu. If it is not detected at all then, in the case of an integrated parallel port,
enter the BIOS setup and check your parallel port settings. On some motherboards, it is possible to
set the parallel port into Auto mode. In this case, a plug-and-play compatible operating system has
the chance to set the parallel port to the address and mode it likes. However, DOS is not one of
these operating systems so set the address and the mode manually. See the next paragraph for the
proper mode.
If you have a Pentium or newer 486 motherboard, with an integrated parallel port and you're using
the X1541 interface then change the mode of the parallel port to SPP or PS/2 (usual aliases are
Normal, Standard, Compatible and Extended). In case you also use the XP1541 or XP1571 parallel
cable, you must set its parallel port to PS/2, EPP or ECP (usual aliases are Extended and Enhanced)
mode. To test your PC against compatibility with the X1541 cable, download X1541Test from the
useful external programs page. For the other cables, the parallel port mode usually doesn't matter
although there are some exceptions. You can read more about the compatibility of the cables at the
separate cable info pages, below the cables and adaptors page.
If you are still unable to access the Commodore drive then disable the 'Detect port modes' option in
the Commander, save the setup and do a hard reboot with the RESET button of your PC. A very
few parallel ports fall into an unusable state when the Commander attempts to detect their mode.
If a given mode of your parallel port completely fails all trials, you may try switching it into another
mode in the BIOS setup. It is worth mentioning that, on some motherboards, the Commander locks
up the machine completely when it is trying to detect a parallel port that is in EPP 1.7 mode. This
seems to be some kind of a hardware problem as it makes Linux also lock up completely upon
startup. In this case, you rather have to switch the parallel port into EPP 1.9 or ECP mode in the
BIOS setup.
20
If you have a motherboard for a Pentium-class CPU then you're, most probably, the owner of an
integrated parallel port that is incompatible with the X1541 cable. To test your PC against
compatibility with the X1541 cable, use X1541Test. Try using an older I/O controller card, a
parallel port card or a Hercules video card with a built-in parallel port. Alternatively, you can use
the XE1541, XM1541 or XA1541 cable.
If your motherboard allows overclocking the FSB (Front Side Bus) frequency then set it back to the
default value in your BIOS setup. For the default value, refer to the motherboard manual. The
Commander relies upon the hardware timers having the same speed on all PC's but changing the
FSB frequency may affect the hardware timer frequency, as well, on some motherboards.
If you use the built-in drive of a C128D or an SX64 then execute the command 'POKE 56576, 199'
on the Commodore machine, before accessing its drive, to decouple the machine from the common
serial bus, by switching the CLK line to high. Every time you also access the drive from the
Commodore machine, you'll have to issue this command again afterwards. Note that the
Commander decouples the PC from the serial bus one second after having completed a disk
operation.
Make sure that the serial interface is assembled well, it is shielded correctly and it is not too long.
Check it against the diagrams above or at the cables and adaptors pages: it may be a mirrored cable
or the electronical parts used in it may be off the specification. If you bought the cable from
someone, you may want to contact the seller with a problem report. You can also try your cable
with other PC's and/or other transfer programs. If you want to test your cable, download XCTest
from the useful external programs page.
Plug your Commodore drive to a Commodore machine to see if it works at all after all those years.
You may want to borrow a tested drive from someone.
If you have an integrated parallel port whose connector is not soldered onto the motherboard but
rather has a cable that is plugged onto the motherboard then check this cable connection. It's
possible that the cable of the parallel port is plugged onto the motherboard in a mirrored way. You
can also check its functionality with a PC printer.
If you've tried everything and you still can't find out which component is is not working properly,
download XCDetect from the useful external programs page. Connect your Commodore drive via
the cable to the PC, switch the drive on and run XCDetect in debug mode, by specifying the "-d"
option on the command line. If the program manages to detect both your cable and your drive then
there's either a Commander configuration problem or you have found a bug in the Commander.
Please, note that if XCDetect displays "(NC:0x83)" or a similar hexadecimal error code after the
device number then it did not detect a device with that particular device number.
Also, there's a tester program for X1541-series cables called XCTest on the same page. It allows
you to test the cable at a lower level, by letting you send outgoing signals to the drive via the cable
and showing the incoming reply signals.
If you're done with all these checks and still no luck, contact me. See below for more information
on how a proper report should look like. Improper reports will not be replied to.
I do not have the possibility to test the program on many kinds of PC's. I ask you to contact me if
you found bugs in the program (you will possibly find some as it is still under development) or have
an idea of what improvements I should do in the future. Please, send me a note if you saw a
21
grammatical error, misspelling, typo or something misunderstandable in the online help or this
documentation.
If you're having some problems with accessing your Commodore drive with the Commander,
please, read the 'Troubleshooting' section in this documentation as it covers most usual mistakes and
problems and, also, possible solutions. If that guide doesn't help you then send me an E-mail with
your detailed report. A report should have the following information:
• The description of the important components of your PC: motherboard brand and type, CPU
type and speed, integrated chipset brand and type. Refer to your motherboard manual for
this information.
• The type of the serial – and, optionally, the parallel – cable that you used between the
Commodore drive and the PC. Also, where you got the cable from: self-made; bought it in
The X1541 Shop (see URL below); or bought it somewhere else (URL and/or E-mail
address of seller, please).
• The type of your Commodore drive.
• Name and version of operating system used.
• The exact version number of your Commander copy. Note that beta releases have a third
version number, too, e.g. "0.12.34 beta".
• What error you get and when you get it. Make sure to quote the exact error message.
• The SC.INI file you used when the problem occurred. Send it uuencoded or attached, but
compress it first with ZIP.
• A guide on how to reproduce the error. Even if it occurs for you all the time, it might not be
trivial to make the Commander do it again on another setup.
• If you can't access the Commodore drive at all, include XCDetect's output in debug mode, as
well, by typing "xcdetect -d > output.txt" into the DOS command line, and attaching the
resulting "output.txt" file, compressed with ZIP. You may also want to run XCTest and
include its output, too.
• If the problem occurs only with a certain file or set of files then you can send it/them to me
uuencoded or attached, as well. Please, compress all the files, you send to me, with ZIP. For
ZIP archives larger than a few hundred Kbytes, ask first.
• Please, confirm that you have read the 'Troubleshooting' section and tried everything
described there!
Reports that miss any of these informations will not be replied to. Please, understand that I don't
have the time to find out what you mean in your report or make experiments on how to reproduce
the reported problem on my own system.
The following bugs have been fixed since Version 0.81. For a complete list of bug fixes since older
releases, see HISTORY.TXT.
• a pointer went astray when switching to the C64 character set, it might have caused rare
lockups
• the EOI detection problem, that caused the loss of the last byte of some sectors during disk
copy and the loss of the last directory sector during reading the directory in normal transfer
mode, has been finally fixed
• when the header of sectors are not found during warp disk copy, you get an error message
instead of the transfer stopping, with the disk spinning but apparently no data being read
• false timeout errors were reported at the end of file copies in normal and turbo mode
• no files could be processed in directories inside archive files
• the Commander, the viewer and the editor don't lock up under the long file name support
program of Caldera OpenDOS anymore
22
• the Commander doesn't lock up when reading a looping directory
• if you were using the hybrid or parallel cable on an ECP parallel port and saved the setup
with one of the panels being an external panel then the Commander didn't recognize external
drives upon startups anymore
• you get a warning when you leave the 'Transfer options' menu if one of the LPT ports is set
to a non-existant port
• if there was an error while preformatting the destination disk, the disk copy was aborted
• the warp disk copy locked up when it tried to verify certain sector contents
• wiping phantom files does not erase the directory anymore
• the Commander and Star Ark computed the start offset of the data area of Arkive archives
incorrectly so they sometimes extracted corrupted files
• deleting files from filepacked ZipCode archives went crazy most of the time
• no dialog box remains on the screen when a directory structure is copied
• if you switched back to normal mode from either fast mode, only the first block of the
directory was read from the Commodore drive
• the GEOS file converter routines chopped off the last byte of VLIR records
• GEOS files are now saved exactly the same way into disk images as under GEOS itself
• when copying files out of file images automatically, using the 'Extract PC64 file images'
option, the original Commodore name of the file is also extracted
• when, during a file copy, the name of the destination PC64 file image resembles a device, an
underscore is appended to the name; this follows PC64's original behavior
• Commodore file names, that contain too many decimal digits, are now correctly converted
into a PC64 file image name
• LHA archives with entries of invalid Commodore file types or with trailing garbage are now
considered to be valid
• when extracting files from LHA archives, you are not asked twice for manual file name
conversion anymore
• turbo delete and validate work correctly on extended disks, too
• if 'Keep non-standard ext' is switched off, when copying DOS files into a CBM panel,
characters including and after the rightmost dot are cut off rather than the leftmost dot and
everything after it
• when copying DOS files or files in LHA or TAR archives from or into GEOS disk images,
no ASCII-PETSCII file name conversion takes place
• if a CD-ROM drive has no disk in it and you want to change to this drive, you will get the
same error message as when changing to a floppy disk drive with no disk in it
• under PTS-DOS, the 'Change drive' dialog box displays only those drive letters that are
really available; also, there are no more problems when changing to a floppy disk drive
• the handling of the phantom B: drive on single-floppy PC's is now more compatible with
DOS clones
• the critical error boxes display device errors correctly
• the bug that makes C64S refuse paths given on the command line with a trailing backslash
has been circumvented in the emulator launch file
• if you entered an invalid image or archive then, after the error message, you got an empty
DOS panel
• if you pressed Enter on 'Cancel' buttons then the current function was continued as if you
had pressed the 'OK' button
• Control-PgDn enters directories, image and archive files only and never launches DOS files
• the undocumented hotkeys Control-PgDn and Control-PgUp are now mentioned in the
online help
• the Commander locked up if you pressed Control+Backslash in an external panel
• when sorting DOS directories by date, directories whose name starts with a dot won't be
sorted before '..' anymore
• when renaming files with long file names, asterisk wildcards are handled in a Unix-like way,
e.g. 'a*' changes the first character of the file name to 'a' but keeps all other characters
unchanged, including the extension
23
• very long paths are truncated in the command line
• long file names containing the characters ",", ";", "=" or "+" are also enclosed into quotes
when inserted into the command line
• file time stamps are displayed with the correct country-specific separator in the 'File
attributes' dialog box
• the bottom frame of Wide DOS panels with no mini status now joins the vertical separator
line correctly
• when copying multiple disks, destination disk images don't inherit the error info block of the
previous one
• in the disk copier, automatically skipped bad sectors don't inherit the error code of that
sector where 'Skip auto' was selected
• if an error occurs during copying a disk to a disk image, the first one or two sectors of the
current track are not overwritten with the code of the turbo loader
• when changing one of the panels to an external panel, the command line path automatically
changes to the path of the opposite panel
• GEOS disks in external Commodore drives are also displayed with the GEOS character set
• you couldn't move files between images or archives with the same file name
• there are no more lockups if files of empty names are copied into PC64 file images
• when copying files inside PC64 file images into PC64 file images, the file type of the source
file is preserved
• when copying into PC64 file images, the progress indicator filled up with half speed and
only reached the middle of the bar
• if you copied files from Commodore drives with typing a file name pattern then the
Commander tried to copy files in the second, third etc. directory sector again and again and
the attribute of the destination files was also changed to DEL
• by pressing 'Cancel' in the file name conversion confirmation dialog box, now you can abort
the file copy process immediately
• when you renamed or deleted files by entering a wildcard pattern, the cursor was placed
onto an inappropriate file afterwards
• directories containing files with dot as the first character of their file name couldn't be
deleted
• you are not allowed to copy multiple files with the same name into LHA and TAR archives
anymore
• there were several problems if you tried to compress files into LHA archives from disk
images containing phantom files
• you couldn't extract files from LHA archives with a long file name
• when copying, moving or renaming files, file names are truncated to 16 characters, except
for DOS, TAR and LHA panels
• in Brief mode, file names in LHA and TAR directories are truncated to 16
characters
• sometimes false errors were reported about trying to copy a file onto itself
• you're not allowed to select relative files with Grey * anymore
• you can select DOS directories with the right mouse button
• frozen files copied into tape images were given invalid attributes so the emulator wouldn't
load them
• when saving files, the GEOS soft interleave is used if the source file is a GEOS file, not if
the destination disk is a GEOS disk
• while copying files into disk images, Convert archives are not converted into GEOS files if
GEOS support is disabled
• if you moved files and appended them to an already existing file then only every second
source file was processed
• you couldn't delete files in image and archive files with typing a file name pattern
• if the destination file already existed, you were asked for confirmation about overwriting it,
even if you pressed Escape while reading the first chunk of data from the source file
• the Commander didn't recognize the standard Commodore file types in DOS file extensions
24
• if you delete a file image which is opened in the inactive panel then the panel will fall back
to DOS mode
• if you enter a year less than 80 in the 'Attributes' dialog box then it will be assumed to be a
date after 2000
• even when 'Auto unselect files' is unchecked, 'File attributes' unselects processed files
• File info didn't recognize frozen files
• files extracted from images or archives did not keep the date stamp if 'Keep file date stamps'
is unchecked
• the attributes of multiple files couldn't be changed in image and archives file, only one by
one
• no volume label was displayed for CD-ROM drives and a false volume label was reported
for Windows 95 partitions where there was a long file name entry before the entry of the
real label
• there are no more lockups if you forget the colon at the end of the file name pattern in
extension files
• the 'Owner' function does not lockup anymore for crosslinked and looping files
• inserting data in the text half of the sector editor works now
• several problems related to Quick view panels have been fixed
• the sample Commander screens in the external setup have been updated
• keeping the left mouse button pressed will scroll the panel display up or down, even if you
move off the panel rectangle
• the viewer and editor now also display the symbols for control characters in screen code
view mode
• when creating a new file in the editor, several active functions in the key bar, at the bottom
of the screen, weren't displayed
• search strings were truncated at 21 characters both in the viewer and the editor
• the editor couldn't backup files in shared environments
• the editor didn't recognize when a file inside an image or archive file was too big and, while
trying to load it fully into memory, locked up
• in the ASCII half of the hexa mode of the editor, Alt-key combinations won't write a zero
byte into a file anymore
• the 'Save as' function of the editor now reads in the attribute of the file specified and warns
you about it being a read-only, hidden and/or system file correctly
• the Star Utilities had several problems with phantom files
• Star ARC didn't stop displaying some archive titles because it didn't recognize their end
• in Star LHA, you can use a dash before the command 'S'
• Star List does not fall into an endless loop when listing messed up disk images and stops
execution if you press Escape
• Star List didn't display graphical characters correctly in LHA and TAR archives
• Star List doesn't recurse into subdirectories unless you explicitly tell it to
• Star Zip warns you if the destination disk is full
The following features have been implemented since Version 0.81. For a complete list of changes
since older releases, see HISTORY.TXT.
• the Commander main executable has been restructured to an overlaid program, now it needs
about 100 KBytes less conventional memory
• the executable files and the online help are neither compressed nor encrypted anymore
because their source is published anyway; feel free to compress the executable files yourself,
if you need to fit them onto a floppy disk
• the personal keyfile is now called 'sc.key' so that its extension doesn't conflict with that of
Windows registry files; rename your keyfile to make it work again
• introducing the command line option '/novesa', to disable VESA BIOS support upon startup
25
• introducing the command line option '/nolpt', to completely disable parallel port access
• the documentation contains some technical background information about PC parallel ports
• raised the proposed registration fee to 10 EUR and 1000 HUF; the 10 USD remained
unchanged; also, removed the possibility to pay by check
• the extension of the documentation files of the Star Utilities was changed to '.txt' because
they are plain DOS text files
• introducing support for 1571 and 1581 disk images and Prologic DOS extended disk images
• introducing support for Commodore 1570 and 1571 drives
• introducing support for the XM1541 multitask and the XA1541 active cables
• introducing support for the XH1571 hybrid and XP1571 parallel cables for Commodore
1570 and 1571 drives
• introducing a new option called 'Force async mode' that, at the cost of a slightly lower
transfer speed, allows you to access Commodore drives under a multi-tasking system, as
well
• introducing support for the "giveio" and "userport" drivers that enable access of Commodore
drives under Windows NT, Windows 2000 and Windows XP; you must use the tweak
package to make this possible
• the complete external setup has been integrated into the main program, Control-F9 now
opens the menu of configuration screens
• introducing a new menu for maintaing local settings for all the Commodore drives you have,
with Control-F10 assigned to it
• now you can change the address of the parallel ports to any value using the two custom port
address slots
• introducing support for relative files
• the Commander, the viewer and the editor can now process multiple files with the same
name independently
• the warp disk copier now recognizes 27 and 29 READ ERROR's
• introducing support for VESA text screen modes up to 132x60, to be changed with Alt-F10
• introducing support for GEOS disk images in Star List
• introducing a "printf"-style way to format the output of Star List
• just like in the other Commanders, Shift+F10 positions to the item previously executed in
the menu tree
• introducing the warp delete and validate routines that read through the disk only once
instead of tracking through the files on it one by one
• the configuration menus have been rearranged; you can jump between submenus with the
'Next' and 'Previous' buttons
• the online help pages now list all configuration options related to that particular function
rather than only the important ones
• introducing a smart drive presence detection routine
• you should now be able to use your Commodore drive from a Commodore machine and a
PC simultaneously, as the Commander decouples the PC from the common serial bus one
second after having completed a disk operation
• pressing Escape or F10, while messages or code fragments are transferred between the PC
and the external drive, aborts the operation with a timeout error; with 'Manual timeouts', you
can control whether you can generate timeouts manually or not
• introducing clipboard support, buffering data on disk or, when available, in the common
Windows clipboard
• the mode of parallel ports is not checked upon returning from DOS shells anymore
• now you can access tracks 36-40 on 1541 disks on any 1541 drive
• you can again use Control+Shift to toggle the C64 character set
• 'Quality C64 charset' lets you switch between the two VGA modes used to display the C64
character set on the screen
• 'Prefer long names' lets you use long file names more comfortably
• you can also select files by holding Shift when moving the cursor
• you can use Control-N to toggle long file names
26
• Control+Tab now completes DOS commands and file names on the command line and in
file name input lines
• pattern matching for Commodore file names is now case-sensitive, like on real Commodore
drives, but the "*" wildcard is handled the Unix way (rather than the DOS way), unlike real
Commodore drives
• with a new option 'Alternative hotkeys', a few hotkeys, mainly ones that are hard to use on a
laptop, can be replaced with other keys or key combinations on the alphanumerical keyboard
• with a new option 'Cursor follows filename', you can set whether the cursor should jump
onto the new position of a file after a rename operation and jump onto the new file or
directory after having created one
• 'Convert chars' makes the Commander convert those PETSCII characters to hexadecimal
codes, that have no ASCII equivalent, and converts these codes back to PETSCII characters
during file copies and any other inputs where Commodore strings are used
• new possible values for the 'Into PC64 file images' and 'Extract PC64 file images' options
allow you to copy into PC64 file images only if the source is a Commodore file and extract
the contents of PC64 file images only if the destination is a Commodore panel; in parallel,
the local override settings for these two options have been removed from the 'Copy' dialog
box
• now you can rename and delete files inside PC64 file images
• you can use Alt-Up and Alt-Down to change the height of the panels row by row
• you can change the width of the panels with Alt-Left and Alt-Right
• you can change the width of the Name column with Alt-Shift-Left and Alt-Shift-Right
• you can change the height of the mini status with Alt-Shift-Up and Alt-Shift-Down
• the cursor moves in a smarter way between items in dialog boxes
• when Tab or Shift-Tab is pressed in a group of radio buttons, the cursor jumps to the next or
previous group of items
• introducing the Wide panel mode for CBM panels
• Wide DOS panels are now very similar to Full DOS panels, the only difference is that, in
Wide panels, file names are not split into the name and extension parts
• instead of radio buttons, the panel filters are now check boxes so that you can make the
panels show files that belong to any of the selected groups rather than only one selected
group; also, there is a new panel filter for PC archives
• introducing the 'Restore selection' feature
• you can sort the display of disk images, as well
• there is a new configuration menu for soft and hard interleaves
• to save memory, the disk editor discards the contents of temporary buffers upon exit
• now you can also enter Commodore drive device numbers in the error dialog box that comes
up if there's no disk in the PC drive you tried to change a panel to
• DOS files are first opened in sharing mode and, if unsuccessful, then in compatibility mode
• the visible length of the 'Program extension' input line has been raised to 8 characters
• the checkbox 'Fast command exec' has been changed to a group of radio buttons called
'Command execution' with the possible values of 'Normal', 'Turbo' and 'Warp'
• you are warned if the destination tape image grows above 64 entries because C64S can only
handle the first 64 of them
• instead of an error message that you have to confirm, you only hear a beep if there's not
enough memory to read in the directory
• if there are no more entries in destination tape image during file copy then you're asked
about expanding it
• under 4DOS and NDOS, files with the extension '.btm' are also recognized as executable
files
• you can now set the real number of retries, the search on adjacent halftracks and the head
bump on retry separately
• the default number of retries of disk errors on Commodore disks has been raised from 1 to 5
• the progress indicator boxes don't flicker anymore
27
• when a disk error occurs while copying a file from a Commodore disk in warp transfer
mode, it is possible to skip the current file only rather than cancelling the complete file copy
• you can make the Commander save files into the unused sectors of the directory track, if
there's no more space in the destination disk image, by checking 'Copy onto dir track'
• when saving files onto disks or into disk images, the fill pattern for the unused part of their
last block is determined by the 'Orig format pattern' option
• when the destination file already exists, during a file copy, you can also choose 'Rename' to
have the source file saved with another name
• you can force the deletion of all read-only or write-protected files without further
confirmation for each
• in delete and overwrite confirmation boxes, you can choose to skip all files without further
confirmation for each
• the deletion of cross-linked files ends when arriving at the BAM or the first directory sector
• 'Make directory' now creates a directory structure of any depth in one go
• by checking the new item 'Keep lowercase chars', under Windows 95, you can create
directories with lowercase file names
• now there are separate soft interleave configurations for external drives and all types of disk
images
• the maximum value of interleaves has been raised to 21
• the hotkey Control-F7 is now assigned to 'File attributes'
• you can change the attributes of a whole directory structure of DOS files
• you can disable the head bump before disk format
• both parallel ports assigned to the Commander are initialized to input mode and ECP ports
are set to byte mode, upon startup and before every access of the Commodore drive
• a lot more ASCII characters are converted to PETSCII in file names during file copy from a
DOS panel to a CBM panel
• now all PETSCII characters are converted to some similar ASCII character when displaying
file names or copying files from CBM to DOS panels
• the user menu displays the first 16 items only
• the user menu item 'Minimize' deletes unused entries from tape images
• if the first line of a menu or extension file is a comment starting with the word "title" then
the rest of the line is taken as the title of the menu to be displayed on the screen
• the user menu for external drives is expanded with an item which changes the head used by
the 1571 drive in 1541 mode
• you can protect and unprotect 1541 disk images from the user menu
• with a new item in the user menu for disk images, you can select files that contain at least
one bad sector
• now the 'Clean' and 'Safe clean' functions don't touch at all sectors that are used but don't
belong to a file
• when cleaning disk images, the BAM, the first directory sector and the GEOS border sector
are cleaned with their default contents rather than the current format pattern, if they're
marked free
• if no setup file is present, the parallel port assignments default to LPT1 both
• critical error dialog boxes contain an additional 'Ignore' button, when allowed
• with the 'Skip all' button in read error message boxes, you can have all subsequent read
errors skipped for the current file being copied and during a disk editor session
• you can enter wildcards into the speed-search dialog box
• the speed search dialog box scrolls the panel in a smarter way so that a few entries around
the target entry are also visible
• in sort modes other than 'Unsorted', directories are sorted before normal files in LHA and
TAR archives, too
• the 'File sizes' warning now takes the actual amount of free space into account and works
with DOS drives, as well
• some steps were taken to better display file and disk sizes above 2 Gigabytes
28
• when a bad sector is read from a disk image that has an error info block attached then an
error message is displayed and the error code is cleared if a sector is overwritten; you can
disable this by unchecking the new option 'Show read errors'
• the menu of available commands in the disk editor has been moved to F9 because now
several other commands are assigned to the other function keys
• the disk editor asks for confirmation every time you read in a new sector and the current one
had been modified
• the confirmations in the disk editor now have three choices that allow you to save and
proceed, discard and proceed or cancel
• with several hotkeys in the disk editor you can jump to different important sectors of the
disk or disk image
• Shift-Home in the sector editor takes 'Orig format pattern' into account
• in the BAM editor, free sectors are marked with a dot and used ones with an asterisk
• you can jump to any sector directly from the BAM and error info editor
• Ctrl-Gray Plus/Minus/Star select/unselect/invert the complete BAM in the BAM editor
• using Shift-F1 to Shift-F8 and Alt-F1 to Alt-F8, you can jump to the first block and the info
block of files directly from directory sectors
• a new function in the disk editor lets you see the owner of the current block and you can
move around the blocks that belong to the same file
• the disk editor now shows the linear offset of the current sector in the disk image
• with a new feature, you can make the disk editor display the sector contents in ASCII, as
well
• you can use Enter to enter and exit the sector editor
• the sector editor remembers the last position of the cursor when you exit
• you can pick up two bytes under the cursor in the sector editor and jump to the block at that
track and sector
• the disk copier has been extended with the ability to duplicate and merge disk images
• it is now possible to manually select the sectors to be copied by the disk copier
• if you leave the file name part of the destination blank in the disk copier then the source file
name will be duplicated there; except when copying a Commodore disk into a disk image, in
which case the file name 'disk0001' is added and indexing is switched on automatically
• when copying multiple disks into disk images and the destination file already exists, the
index is increased until a non-existant file is found
• 'Fetch format label from source' has been removed from the 'Copy disk' dialog box,
destination disks are always formatted with the label of the source disk image
• upon input of disk labels, trailing spaces are not cut off from the disk name or ID code
• you can make the disk copier check the BAM ID against the sector header ID and correct
the BAM ID, if needed
• with a new option in the disk copier, you can have the source disk directory displayed in the
active panel before you'd actually copy it
• to speed up the disk copy of multiple disk images, you're not asked for confirmation when
preformatting the destination disks
• the disk copier can also generate indices containing disk side letters, when copying multiple
disks from a Commodore drive
• the disk copy now always ends with seeking the head back to the directory track
• you can switch disk copy modes in the 'Copy disk' dialog box with the function keys, too
• if you're copying an extended 1541 disk or disk image and, for any reason, no data was
copied from the extra tracks then you're asked about removing them completely from the
resulting disk image
• by checking a new option, 'Detect disk changes', you can make the disk copier continue
copying the next disk or disk image as soon as you change the disk in the external
Commodore drive
• if you check a new option, 'Endless retry', the disk copier will keep reading bad sectors until
it succeeds or you exit the loop by pressing Escape or F10
29
• if you choose to create an error info block at the end of a disk copy, the errors will be
displayed in the error info editor
• when specifying source files for copy, move, rename or deletion, you can enter a list of file
name patterns, delimited with commas or semicolons
• during a file copy from or to a Commodore 1541 drive, the extra tracks are detected only
before copying the first file but not for subsequent files
• you get an error message when you're trying to copy a GEOS file from a Commodore disk
and a warning message when copying a GEOS file to a Commodore disk
• there's an error message when you try to delete a GEOS file on a Commodore disk or try to
validate a GEOS disk
• the file copy is a bit faster when you copy selected files from a Commodore drive
• in GEOS disk images, non-GEOS files are also saved the same way as GEOS files
• you can format multiple disks in one session by checking 'Format multiple disks' in the
'Format' dialog box
• when formatting Commodore disks, the characters '*', '=' and '?' are replaced with spaces so
that the drive doesn't reply with an error message
• files with the extension '.sfx' are now handled as LHA archives
• files starting on the dirst directory sector or on any BAM sector are also considered to be
phantom files
• sizes in Info panels are now displayed in a single form, depending on the current status of
'DOS sizes in blocks'
• Quick view panels now display file count and file size totals for directories in the opposite
panel
• the 'File info' dialog box shows the description of GEOS files
• for BASIC programs, 'File info' now also displays the computer the file was, most probably,
created on
• when changing the attributes of a single Commodore file, the new default for the file type is
'Do not change'
• the disk image maker is back to its original speed
• the speed-search dialog boxes are now wider, allowing you to type more of long file names
• when long file names are available, file name input lines allow data to be entered up to 255
characters
• if a command being executed already exists in the history then it is moved to the end of the
list instead of being duplicated
• command lines containing spaces only are discarded
• in input lines, Control-Del has the same function as Control-T
• when inputting file names, Alt-24 and Alt-27 are converted to the up and left arrows of the
PETSCII character set
• good sectors are marked with a dash instead of a number '1' in the error info editor
• the function that strips the error info block off the disk image is now assigned to F8 in the
error info editor
• with the symbol '!/' in user menu and extension files, you can insert the current path inside
the current image file into the command line; also, the symbol '!#' inserts the zero-based
index of the current file inside the current image file
• standard viewers and editors are searched for in the PATH, not only the Commander home
directory
• the description of supported Commodore drives has been moved to a separate page in the
online help
• the maximum length of a line remaining unwrapped in the viewer and the editor has been
raised to 2048 characters
• the maximum length of search strings has been raised from 64 to 255 in both the viewer and
the editor
• the viewer and editor now accept file names containing spaces, even if they're not enclosed
into quotation marks on the command line
30
• when the load address is displayed in the viewer or editor, the 'Goto' function inputs and
goes to a memory address rather than a file offset
• in the viewer and editor, you can also use the mouse to select the file to view or edit in an
image or archive file
• the viewer and the editor now also display special symbols and do Tab translation in
PETSCII mode
• the viewer can also display file offsets based on the load address
• the viewer now displays a warning about the current file being corrupted only once
• if a long file name is specified in the command line and the file does not exist then the
viewer truncates the file name to short form and retries opening the file
• in the editor, there are separate Insert/Overwrite modes, indicated by the cursor shape and a
marker in the title bar, for the text and hexa modes; when Insert is active in hexa mode, you
can insert and delete bytes just like in text mode
• in the editor, Ctrl-Del deletes the selected block, if there is one; otherwise, deletes the word
to the right of the cursor, as before
• the Replace function of the editor can now, in both text and hexa mode, either delete the old
string and insert the new one in its place or patch the old string with the new
• if you answer 'All' to the confirmation of the Replace function of the editor then the screen
won't follow instances being replaced which speeds up the process to several times the
original speed
• you can select blocks with Shift-arrow keys, as well, in the editor
• you can use wildcards in the 'Insert file' box of the editor
• the Star Utilities can now handle long file names
• the Star Utilities now have two more options that tell whether to display Commodore file
names with the lowercase/uppercase or uppercase/graphics character set
• a new option in the Star Utilities lets you delete successfully processed source files
• the Star Utilities can now extract data into 1571 and 1581 disk images, too
• the format descriptions in the Star Utilities now mention relative files
• Star ARC now displays archive comments upon extraction
• Star Zip, by default, stores the cosmetical ID in the BAM of the source disk image as the
sector header ID stored into diskpacked ZipCode archives
The following problems and limitations are documented below so, please, don't bother reporting
them:
• Timeouts are not handled. All PC interrupts are disabled while accessing the Commodore
drive, so errors during data transfer may lock up your PC. In this case, you have to generate
a timeout manually by pressing Escape or F10 – if 'Manual timeouts' is enabled – or unplug
the serial cable from either the PC or the drive.
• Accessing Commodore drives under multi-tasking systems is not supported very well. For
Linux, you should be using a native Linux application instead. For Windows NT/2000/XP, a
similar device driver is needed for best performance; see the tweak package to make the
Commander more or less work under these operating systems.
• You can't use more than one Commodore drive at a time. Only one of the panels can show a
Commodore drive and the disk turbos won't work if there are more drives connected and
switched on. The best you can do is have all needed drives connected but only one of them
turned on. The 'Drive setup' function helps you with configuring and switching among your
drives easily.
• For certain 1571 drives, it may take as long as a full minute to accept single-sided floppy
disks, when the drive type is set to '1571' or '1570'. This is a bug in older 1571 DOS
revisions and has nothing to do with the Commander, as it also occurs when the drive is
connected to a Commodore machine.
31
• You can't copy GEOS files from and to and relative files to Commodore disks. You have to
use the disk copier to copy such files as part of a disk or disk image instead. Also, it is not
possible to delete GEOS files on Commodore disks or to validate GEOS disks; this is
implemented for disk images only.
• When copying a GEOS file from a DOS file (in Convert format) into an image or archive
file, the manual file name conversion box offers you the DOS file name, rather than the
original Commodore file name inside the Convert archive. The reason for this is that the
dialog box is displayed before the Commander would read any data from the source file and
recognize that it's in Convert format.
• Because of memory constraints, the Commander doesn't show more than 500 directory
entries per panel.
• Very long file and path names, those over 254 characters, get truncated. This is an inherent
limitation of the Pascal language, in which strings may not be longer than 255 characters.
• Instead of the usual extract command of LHA, both the Commander and Star LHA use the
print command, which only works correctly with LHA 2.14 and newer versions. With older
versions of LHA, you will find garbage in the extracted files.
• The common clipboard of Windows pads text data with zero bytes to a multiple of 32 bytes.
You may experience the loss of some bytes from the end of blocks, that contain zero bytes,
when pasting them into input lines or into the editor. Fortunately, this doesn't occur with
normal text, only binary data.
Some of these problems may later be solved and some will not.
I'm planning the following changes for the next version. Please, tell me if I should start working on
the low priority items marked with (?), as well.
There are many ideas that I will not put inside the Commander. They are related to a multi-purpose
utility, not a DOS shell and transfer program like the Commander.
16. Thanks to
Without the following two persons, this program, this documentation and even the interface cables
wouldn't be as good as they are:
Wolfgang Moser
Nicolas Welte
Todd A. Aiken
Gustavo Ayala
Bacchus/Fairlight
Mathias Beilstein
Jürgen Bullinger
Clarence/Graffity
Credo/SCS*TRC
Michael J. Darschewski
Dohos Ádám
Edhellon/Resource
Sven Goldt
Halász Csaba
Matthias Hartung
Lion/Chromance
Stephen Lloyd
Olav Morkrid/Panoramic Designs
Piret Endre
Gunther Richter
Mathias Schroeder
Darrin Smith
Sorex/WOW
Suba Péter
Szigetvári József
Tamási György
33
Vic/COMA
Wojtek Wasilewski
The following people have contributed code fragments or their programs were used as examples:
The following people have given miscellaneous help with the development:
And thanks to you, too, for using the Commander, especially, if you took the time to register it.
http://sta.c64.org/sc.html
Here you can always find the latest public release, along with the full source.
34
The Star Utilities homepage:
http://sta.c64.org/su.html
The Star Utilities are external programs, for mass conversion between Commodore-related file
formats. At their homepage, you can always find the latest public release, along with the full source.
http://sta.c64.org/scbeta.html
Here you can see information (bug fixes, modifications, new features) about the beta versions of the
Commander and the utilities being developed and tested and download these betas. This is the only
place on the Net where you can find beta releases; do not republish beta releases!
http://sta.c64.org/scextprg.html
Here you can find some additional programs that may help you with solving problems with the
Commander and the X1541-series interfaces.
http://sta.c64.org/xcables.html
Here you can have a look at the documentation and the description of the X1541-series interfaces,
those supported by the Commander. Also, there are construction pages that show you how to build
the cables and adaptors yourself.
http://sta.c64.org/x1541shop.html
Here you can buy X1541-series and other cables and adaptors for unusually low prices.
You can also E-mail me any time to ask for a uuencoded or attached copy. Finger me at the address
[email protected] to find out the version number of the latest release.
If you would like to subscribe to The Star Commander mailing list, to be notified about new (beta)
releases, to ask questions or to just chat around, then send an E-mail to sclist-
[email protected]. To post articles, send an E-mail to
[email protected]. Please, note that only members are allowed to post to the
mailing list. To unsubscribe, send an E-mail to [email protected].
If you know more good, stable WWW or FTP sites with C64 areas to which I should upload the
Commander then an E-mail would be appreciated.
Please, send an E-mail to the address [email protected] if you have questions, problems,
ideas or wishes concerning the Commander. In your E-mail, wrap your lines at 70-75 characters.
Send plain text only, no rich text in HTML format or the message in an attachment.
Kovács Balázs
Orsolya u. 5. IV/12.
1204 Budapest
Hungary
You can also call the phone number (+36-)1-285-3881 to contact me (8PM-10PM, GMT+1).
Please, call me only if extremely urgent.
My ICQ number is 43570569. I'm usually online on weekdays, during the working hours (10AM-
6PM, GMT+1). Please, ICQ me only if very urgent.
Please, use English or Hungarian. If you really have to, you can write in German, as well, but be
warned, I can only understand it, I don't speak it.
If you wish to send some files to me, either by E-mail or snail mail then ask me before you do it. I
don't like being flooded with large E-mails or lots of disks without having been warned.
Note that Hungarians, similarly to Chinese, Japanese, Vietnamese and, probably, some other Far-
Asian people, have their names in a "reverse" order. If you really don't want to call me Joe then,
please, use Balázs or Mr. Kovács in your greeting rather than the opposite.
Joe Forster/STA
31st March, 2002
36