~ubuntu-branches/ubuntu/maverick/vice/maverick

« back to all changes in this revision

Viewing changes to doc/vice.texi

  • Committer: Bazaar Package Importer
  • Author(s): Zed Pobre
  • Date: 2005-02-01 11:30:26 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050201113026-3eyakzsmmheclvjg
Tags: 1.16-1
* New upstream version
* Fixes crash on 64-bit architectures (closes: #287640)
* x128 working again (closes: #286767)
* Works fine with /dev/dsp in use (not in the main changelog, but tested
  on my local machine as working).  Presumably, this also takes care of
  the issue with dsp being held.  I'm not sure if this is because I'm
  testing it on a 2.6 kernel now -- if you are still having problems
  with /dev/dsp, please reopen the bugs. (closes: #152952, #207942)
* Don't kill Makefile.in on clean

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
 
59
59
@page
60
60
@vskip 0pt plus 1filll
61
 
Copyright @copyright{} 1998-2004 Andreas Boose
62
 
Copyright @copyright{} 1998-2004 Dag Lem
63
 
Copyright @copyright{} 1998-2004 Tibor Biczo
64
 
Copyright @copyright{} 1999-2004 Andreas Dehmel
65
 
Copyright @copyright{} 1999-2004 Thomas Bretz
66
 
Copyright @copyright{} 1999-2004 Andreas Matthies
67
 
Copyright @copyright{} 1999-2004 Martin Pottendorfer
 
61
Copyright @copyright{} 1998-2005 Andreas Boose
 
62
Copyright @copyright{} 1998-2005 Dag Lem
 
63
Copyright @copyright{} 1998-2005 Tibor Biczo
 
64
Copyright @copyright{} 1999-2005 Andreas Dehmel
 
65
Copyright @copyright{} 1999-2005 Thomas Bretz
 
66
Copyright @copyright{} 1999-2005 Andreas Matthies
 
67
Copyright @copyright{} 1999-2005 Martin Pottendorfer
 
68
Copyright @copyright{} 2000-2005 Spiro Trikaliotis
 
69
Copyright @copyright{} 2003-2005 David Hansel
68
70
Copyright @copyright{} 2000-2004 Markus Brenner
69
 
Copyright @copyright{} 2000-2004 Spiro Trikaliotis
70
 
Copyright @copyright{} 2003-2004 David Hansel
71
71
 
72
72
Copyright @copyright{} 1997-2001 Daniel Sladic
73
73
Copyright @copyright{} 1996-1999 Ettore Perazzoli
96
96
 
97
97
@ifinfo
98
98
 
99
 
This is the documentation for version 1.14 of VICE, the Versatile
 
99
This is the documentation for version 1.16 of VICE, the Versatile
100
100
Commodore Emulator.
101
101
 
102
102
@end ifinfo
805
805
 
806
806
@itemize @bullet
807
807
@item
808
 
using disk images, i.e., files that contain a dump
809
 
of all the blocks contained in a real floppy disk (if you want more
810
 
information about what a disk image is, consult the
 
808
using disk images, i.e., files that contain a dump of all the blocks
 
809
contained in a real floppy disk (if you want more information about
 
810
what a disk image is, consult the
811
811
@code{comp.emulators.cbm} FAQ);
812
812
@item
813
813
accessing file system directories, thus giving you the use of files
818
818
accessing a real device connected to the host machine. As of VICE 1.11
819
819
it is possible to connect real drives like Commodore 1541 to the
820
820
printer port of the host using the XA1541 or XM1541 cable. Currently
821
 
this only works on Linux using the OpenCBM library. You can get it
822
 
from @uref{http://www.lb.shuttle.de/puffin/cbm4linux}.
 
821
this only works on Linux or Windows using the OpenCBM library. You can
 
822
get it from @uref{http://www.lb.shuttle.de/puffin/cbm4linux} (cbm4linux,
 
823
Linux version) or from @uref{http://cbm4win.sf.net/} (cbm4win, Windows
 
824
version).
 
825
 
823
826
@item
824
 
directly using the disk drive of the host. The 3.5" disk
825
 
drive of the host can be used to read or write Commodore 1581
826
 
formatted disks. Currently this raw drive access feature is only
827
 
available for Linux hosts.
 
827
directly using the disk drive of the host. The 3.5" disk drive of the
 
828
host can be used to read or write Commodore 1581 formatted disks.
 
829
Currently this raw drive access feature is only available for Linux
 
830
hosts.
828
831
@end itemize
829
832
 
830
833
When using disk images there are two available types of drive
845
848
The other alternative is a @dfn{true drive} emulation.  The
846
849
Commodore disk drives are provided with their own CPU (a 6502 as the
847
850
VIC20 and the PETs) and their own RAM and ROM.  So, in order to more
848
 
closely emulate its features, a complete emulation of this hardware must
849
 
be provided and that is what the @dfn{hardware level} emulation does.
850
 
When the @dfn{hardware level} emulation is used, the kernal routines are
851
 
remain unpatched and the serial line is fully emulated.  The problem
852
 
with this emulation is that it needs a lot of processing power, mainly
853
 
because the emulator has to emulate two CPUs instead of one.
854
 
 
855
 
As of 0.14.0 the @dfn{hardware level} emulation is available on all
856
 
emulators.  It can only be used to emulate drive unit #8 or #9.  Other
857
 
units are disabled if @dfn{hardware level} drive emulation is enabled.
858
 
 
859
 
The PETs do not use a serial IEC bus to communicate with the
860
 
floppy drive but instead use the parallel IEEE488 bus.  This does
 
851
closely emulate its features, a complete emulation of this hardware
 
852
must be provided and that is what the @dfn{hardware level} emulation
 
853
does. When the @dfn{hardware level} emulation is used, the kernal
 
854
routines are remain unpatched and the serial line is fully emulated.
 
855
The problem with this emulation is that it needs a lot of processing
 
856
power, mainly because the emulator has to emulate two CPUs instead of
 
857
one.
 
858
 
 
859
The PETs do not use a serial IEC bus to communicate with the floppy
 
860
drive but instead use the parallel IEEE488 bus.  This does
861
861
@emph{byte by byte} transfers, as opposed to the @emph{bit by bit}
862
862
transfers of the C64 and VIC20, so making it feasible to emulate the
863
863
parallel line completely while emulating the drive at DOS level only.
864
 
The IEEE488 line interpreter maps the drives 8-11 (as described above)
865
 
to the IEEE488 disk units, and no kernal traps are needed.  The same
866
 
emulation of the Commodore IEEE488 bus interface is available for the
867
 
C64 and the VIC20. With IEEE488 drives you can have true 2031 emulation 
868
 
at unit #8, and still have filesystem access at units #10 or #11, because
869
 
monitoring the IEEE488 lines does not interfere with the true drive
870
 
emulation.
871
 
 
872
 
The IEEE488 disk drives 3040, 4040, 8050 and 8250 are Dual Drive Floppy Disks. 
873
 
This means that these drives handle two disks. To Accomplish the 
874
 
emulation, only one disk can be emulated, namely unit #8. The 
875
 
attached image, track display and LED display of unit #9 are used
876
 
for the second drive of the dual disk drives. On unix the unit number
877
 
display (8 or 9) in the emulation window changes to the drive number
878
 
display (0 or 1). 
879
 
 
880
 
The Commodore 3040, 4040, 1001, 8050 and 8250 disk drives are 
881
 
so-called "old-style"
882
 
disk drives. Their architecture includes not one, but two processors
883
 
of the 6502 type, namely a 6502 for the file handling and communication
884
 
with the PET (IP), and a 6504 (which is a 6502 with reduced address space) for 
885
 
the drive handling (FDC). Both processors communicate over a shared memory
886
 
area. The IP writes commands to read/write blocks to this area and
887
 
the FDC executes them. To make the emulation feasible, the FDC processor
888
 
is not emulated cycle-exactly as a 6504, but simply by checking 
889
 
the commands and executing them on the host. This provides a fast
890
 
FDC emulation, but disallows the sending the FDC processor commands
891
 
to execute code. Applications where this is necessary are believed
892
 
to be rather seldom. Only the format command uses this feature, but
893
 
this is checked for.
894
 
 
895
 
The dual disk drive 2040 emulates one of the very first CBM disk drives.
896
 
This drive has DOS version 1. DOS1 uses an own disk type, that is closely
897
 
related to the 1541 disk image. Only on tracks 18-24 DOS1 disks have 
898
 
a sector more than 1541 disks. DOS1 disk images have the extension .d67.
899
 
 
900
 
The dual disk drives 3040 and 4040 use the same logical disk format as 
901
 
the VC1541 and the 2031. In fact, the 4040 was the first disk with 
902
 
DOS version 2. The 3040 emulated here originally was the same as 2040, only
903
 
for the european 30xx PET series. As many of the original DOS1 disk drives
904
 
were upgraded (a simple ROM upgrade!) to DOS2, I use the 3040 number for
905
 
a DOS 2.0 disk drive, and 4040 for a revised DOS 2 disk drive.
906
 
It is, however, not yet clear whether the disks here
907
 
are write compatible to the 1541, as rumors exist that the write gap between 
908
 
sectors is different. But read compatible they are. As VICE emulates
909
 
the FDC processor in C and not as 6504 emulation, this does not matter
910
 
in VICE.
911
 
 
912
 
The drives 1001, 8050 and 8250 do actually have the very same DOS ROM.
913
 
Only the code in the FDC is different, which is taken care of by VICE.
914
 
So for all three of those disk drives, only @code{dos1001} is needed.
915
 
The DOS version used is 2.7.
 
864
The IEEE488 line interpreter maps the drives 8-11 (as described
 
865
above) to the IEEE488 disk units, and no kernal traps are needed.
 
866
The same emulation of the Commodore IEEE488 bus interface is
 
867
available for the C64 and the VIC20. With IEEE488 drives you can have
 
868
true 2031 emulation at unit #8, and still have filesystem access at
 
869
units #10 or #11, because monitoring the IEEE488 lines does not
 
870
interfere with the true drive emulation.
 
871
 
 
872
The IEEE488 disk drives 3040, 4040, 8050 and 8250 are Dual Drive
 
873
Floppy Disks. This means that these drives handle two disks. To
 
874
Accomplish the emulation, only one disk can be emulated, namely unit
 
875
#8. The attached image, track display and LED display of unit #9 are
 
876
used for the second drive of the dual disk drives. On unix the unit
 
877
number display (8 or 9) in the emulation window changes to the drive
 
878
number display (0 or 1).
 
879
 
 
880
The Commodore 3040, 4040, 1001, 8050 and 8250 disk drives are
 
881
so-called "old-style" disk drives. Their architecture includes not
 
882
one, but two processors of the 6502 type, namely a 6502 for the file
 
883
handling and communication with the PET (IP), and a 6504 (which is a
 
884
6502 with reduced address space) for the drive handling (FDC). Both
 
885
processors communicate over a shared memory area. The IP writes
 
886
commands to read/write blocks to this area and the FDC executes them.
 
887
To make the emulation feasible, the FDC processor is not emulated
 
888
cycle-exactly as a 6504, but simply by checking the commands and
 
889
executing them on the host. This provides a fast FDC emulation, but
 
890
disallows the sending the FDC processor commands to execute code.
 
891
Applications where this is necessary are believed to be rather
 
892
seldom. Only the format command uses this feature, but this is
 
893
checked for.
 
894
 
 
895
The dual disk drive 2040 emulates one of the very first CBM disk
 
896
drives. This drive has DOS version 1. DOS1 uses an own disk type,
 
897
that is closely related to the 1541 disk image. Only on tracks 18-24
 
898
DOS1 disks have a sector more than 1541 disks. DOS1 disk images have
 
899
the extension .d67.
 
900
 
 
901
The dual disk drives 3040 and 4040 use the same logical disk format
 
902
as the VC1541 and the 2031. In fact, the 4040 was the first disk with
 
903
DOS version 2. The 3040 emulated here originally was the same as
 
904
2040, only for the european 30xx PET series. As many of the original
 
905
DOS1 disk drives were upgraded (a simple ROM upgrade!) to DOS2, I use
 
906
the 3040 number for a DOS 2.0 disk drive, and 4040 for a revised DOS
 
907
2 disk drive. It is, however, not yet clear whether the disks here
 
908
are write compatible to the 1541, as rumors exist that the write gap
 
909
between  sectors is different. But read compatible they are. As VICE
 
910
emulates the FDC processor in C and not as 6504 emulation, this does
 
911
not matter in VICE.
 
912
 
 
913
The drives 1001, 8050 and 8250 do actually have the very same DOS
 
914
ROM. Only the code in the FDC is different, which is taken care of by
 
915
VICE. So for all three of those disk drives, only @code{dos1001} is
 
916
needed. The DOS version used is 2.7.
916
917
 
917
918
@node Supported file formats, Common problems, Disk drive emulation, Preface
918
919
@section Supported file formats
7632
7633
 
7633
7634
@itemize @bullet
7634
7635
@item
7635
 
Copyright @copyright{} 1998-2004 Andreas Boose
7636
 
@item
7637
 
Copyright @copyright{} 1998-2004 Dag Lem
7638
 
@item
7639
 
Copyright @copyright{} 1998-2004 Tibor Biczo
7640
 
@item
7641
 
Copyright @copyright{} 1999-2004 Andreas Dehmel
7642
 
@item
7643
 
Copyright @copyright{} 1999-2004 Thomas Bretz
7644
 
@item
7645
 
Copyright @copyright{} 1999-2004 Andreas Matthies
7646
 
@item
7647
 
Copyright @copyright{} 1999-2004 Martin Pottendorfer
 
7636
Copyright @copyright{} 1998-2005 Andreas Boose
 
7637
@item
 
7638
Copyright @copyright{} 1998-2005 Dag Lem
 
7639
@item
 
7640
Copyright @copyright{} 1998-2005 Tibor Biczo
 
7641
@item
 
7642
Copyright @copyright{} 1999-2005 Andreas Dehmel
 
7643
@item
 
7644
Copyright @copyright{} 1999-2005 Thomas Bretz
 
7645
@item
 
7646
Copyright @copyright{} 1999-2005 Andreas Matthies
 
7647
@item
 
7648
Copyright @copyright{} 1999-2005 Martin Pottendorfer
 
7649
@item
 
7650
Copyright @copyright{} 2000-2005 Spiro Trikaliotis
 
7651
@item
 
7652
Copyright @copyright{} 2003-2005 David Hansel
7648
7653
@item
7649
7654
Copyright @copyright{} 2000-2004 Markus Brenner
7650
 
@item
7651
 
Copyright @copyright{} 2000-2004 Spiro Trikaliotis
7652
 
@item
7653
 
Copyright @copyright{} 2003-2004 David Hansel
7654
7655
 
7655
7656
@item
7656
7657
Copyright @copyright{} 1997-2001 Daniel Sladic