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

« back to all changes in this revision

Viewing changes to doc/html/vice_2.html

  • 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:
1
1
<HTML>
2
2
<HEAD>
3
3
<!-- This HTML file has been created by texi2html 1.52
4
 
     from ../vice.texi on 17 January 2004 -->
 
4
     from ../vice.texi on 23 January 2005 -->
5
5
 
6
6
<TITLE>VICE Manual - 2  About VICE</TITLE>
7
7
</HEAD>
353
353
<UL>
354
354
<LI>
355
355
 
356
 
using disk images, i.e., files that contain a dump
357
 
of all the blocks contained in a real floppy disk (if you want more
358
 
information about what a disk image is, consult the
 
356
using disk images, i.e., files that contain a dump of all the blocks
 
357
contained in a real floppy disk (if you want more information about
 
358
what a disk image is, consult the
359
359
<CODE>comp.emulators.cbm</CODE> FAQ);
360
360
<LI>
361
361
 
368
368
accessing a real device connected to the host machine. As of VICE 1.11
369
369
it is possible to connect real drives like Commodore 1541 to the
370
370
printer port of the host using the XA1541 or XM1541 cable. Currently
371
 
this only works on Linux using the OpenCBM library. You can get it
372
 
from <A HREF="http://www.lb.shuttle.de/puffin/cbm4linux">http://www.lb.shuttle.de/puffin/cbm4linux</A>.
 
371
this only works on Linux or Windows using the OpenCBM library. You can
 
372
get it from <A HREF="http://www.lb.shuttle.de/puffin/cbm4linux">http://www.lb.shuttle.de/puffin/cbm4linux</A> (cbm4linux,
 
373
Linux version) or from <A HREF="http://cbm4win.sf.net/">http://cbm4win.sf.net/</A> (cbm4win, Windows
 
374
version).
 
375
 
373
376
<LI>
374
377
 
375
 
directly using the disk drive of the host. The 3.5" disk
376
 
drive of the host can be used to read or write Commodore 1581
377
 
formatted disks. Currently this raw drive access feature is only
378
 
available for Linux hosts.
 
378
directly using the disk drive of the host. The 3.5" disk drive of the
 
379
host can be used to read or write Commodore 1581 formatted disks.
 
380
Currently this raw drive access feature is only available for Linux
 
381
hosts.
379
382
</UL>
380
383
 
381
384
<P>
401
404
The other alternative is a <EM>true drive</EM> emulation.  The
402
405
Commodore disk drives are provided with their own CPU (a 6502 as the
403
406
VIC20 and the PETs) and their own RAM and ROM.  So, in order to more
404
 
closely emulate its features, a complete emulation of this hardware must
405
 
be provided and that is what the <EM>hardware level</EM> emulation does.
406
 
When the <EM>hardware level</EM> emulation is used, the kernal routines are
407
 
remain unpatched and the serial line is fully emulated.  The problem
408
 
with this emulation is that it needs a lot of processing power, mainly
409
 
because the emulator has to emulate two CPUs instead of one.
410
 
 
411
 
</P>
412
 
<P>
413
 
As of 0.14.0 the <EM>hardware level</EM> emulation is available on all
414
 
emulators.  It can only be used to emulate drive unit #8 or #9.  Other
415
 
units are disabled if <EM>hardware level</EM> drive emulation is enabled.
416
 
 
417
 
</P>
418
 
<P>
419
 
The PETs do not use a serial IEC bus to communicate with the
420
 
floppy drive but instead use the parallel IEEE488 bus.  This does
 
407
closely emulate its features, a complete emulation of this hardware
 
408
must be provided and that is what the <EM>hardware level</EM> emulation
 
409
does. When the <EM>hardware level</EM> emulation is used, the kernal
 
410
routines are remain unpatched and the serial line is fully emulated.
 
411
The problem with this emulation is that it needs a lot of processing
 
412
power, mainly because the emulator has to emulate two CPUs instead of
 
413
one.
 
414
 
 
415
</P>
 
416
<P>
 
417
The PETs do not use a serial IEC bus to communicate with the floppy
 
418
drive but instead use the parallel IEEE488 bus.  This does
421
419
<EM>byte by byte</EM> transfers, as opposed to the <EM>bit by bit</EM>
422
420
transfers of the C64 and VIC20, so making it feasible to emulate the
423
421
parallel line completely while emulating the drive at DOS level only.
424
 
The IEEE488 line interpreter maps the drives 8-11 (as described above)
425
 
to the IEEE488 disk units, and no kernal traps are needed.  The same
426
 
emulation of the Commodore IEEE488 bus interface is available for the
427
 
C64 and the VIC20. With IEEE488 drives you can have true 2031 emulation 
428
 
at unit #8, and still have filesystem access at units #10 or #11, because
429
 
monitoring the IEEE488 lines does not interfere with the true drive
430
 
emulation.
431
 
 
432
 
</P>
433
 
<P>
434
 
The IEEE488 disk drives 3040, 4040, 8050 and 8250 are Dual Drive Floppy Disks. 
435
 
This means that these drives handle two disks. To Accomplish the 
436
 
emulation, only one disk can be emulated, namely unit #8. The 
437
 
attached image, track display and LED display of unit #9 are used
438
 
for the second drive of the dual disk drives. On unix the unit number
439
 
display (8 or 9) in the emulation window changes to the drive number
440
 
display (0 or 1). 
441
 
 
442
 
</P>
443
 
<P>
444
 
The Commodore 3040, 4040, 1001, 8050 and 8250 disk drives are 
445
 
so-called "old-style"
446
 
disk drives. Their architecture includes not one, but two processors
447
 
of the 6502 type, namely a 6502 for the file handling and communication
448
 
with the PET (IP), and a 6504 (which is a 6502 with reduced address space) for 
449
 
the drive handling (FDC). Both processors communicate over a shared memory
450
 
area. The IP writes commands to read/write blocks to this area and
451
 
the FDC executes them. To make the emulation feasible, the FDC processor
452
 
is not emulated cycle-exactly as a 6504, but simply by checking 
453
 
the commands and executing them on the host. This provides a fast
454
 
FDC emulation, but disallows the sending the FDC processor commands
455
 
to execute code. Applications where this is necessary are believed
456
 
to be rather seldom. Only the format command uses this feature, but
457
 
this is checked for.
458
 
 
459
 
</P>
460
 
<P>
461
 
The dual disk drive 2040 emulates one of the very first CBM disk drives.
462
 
This drive has DOS version 1. DOS1 uses an own disk type, that is closely
463
 
related to the 1541 disk image. Only on tracks 18-24 DOS1 disks have 
464
 
a sector more than 1541 disks. DOS1 disk images have the extension .d67.
465
 
 
466
 
</P>
467
 
<P>
468
 
The dual disk drives 3040 and 4040 use the same logical disk format as 
469
 
the VC1541 and the 2031. In fact, the 4040 was the first disk with 
470
 
DOS version 2. The 3040 emulated here originally was the same as 2040, only
471
 
for the european 30xx PET series. As many of the original DOS1 disk drives
472
 
were upgraded (a simple ROM upgrade!) to DOS2, I use the 3040 number for
473
 
a DOS 2.0 disk drive, and 4040 for a revised DOS 2 disk drive.
474
 
It is, however, not yet clear whether the disks here
475
 
are write compatible to the 1541, as rumors exist that the write gap between 
476
 
sectors is different. But read compatible they are. As VICE emulates
477
 
the FDC processor in C and not as 6504 emulation, this does not matter
478
 
in VICE.
479
 
 
480
 
</P>
481
 
<P>
482
 
The drives 1001, 8050 and 8250 do actually have the very same DOS ROM.
483
 
Only the code in the FDC is different, which is taken care of by VICE.
484
 
So for all three of those disk drives, only <CODE>dos1001</CODE> is needed.
485
 
The DOS version used is 2.7.
 
422
The IEEE488 line interpreter maps the drives 8-11 (as described
 
423
above) to the IEEE488 disk units, and no kernal traps are needed.
 
424
The same emulation of the Commodore IEEE488 bus interface is
 
425
available for the C64 and the VIC20. With IEEE488 drives you can have
 
426
true 2031 emulation at unit #8, and still have filesystem access at
 
427
units #10 or #11, because monitoring the IEEE488 lines does not
 
428
interfere with the true drive emulation.
 
429
 
 
430
</P>
 
431
<P>
 
432
The IEEE488 disk drives 3040, 4040, 8050 and 8250 are Dual Drive
 
433
Floppy Disks. This means that these drives handle two disks. To
 
434
Accomplish the emulation, only one disk can be emulated, namely unit
 
435
#8. The attached image, track display and LED display of unit #9 are
 
436
used for the second drive of the dual disk drives. On unix the unit
 
437
number display (8 or 9) in the emulation window changes to the drive
 
438
number display (0 or 1).
 
439
 
 
440
</P>
 
441
<P>
 
442
The Commodore 3040, 4040, 1001, 8050 and 8250 disk drives are
 
443
so-called "old-style" disk drives. Their architecture includes not
 
444
one, but two processors of the 6502 type, namely a 6502 for the file
 
445
handling and communication with the PET (IP), and a 6504 (which is a
 
446
6502 with reduced address space) for the drive handling (FDC). Both
 
447
processors communicate over a shared memory area. The IP writes
 
448
commands to read/write blocks to this area and the FDC executes them.
 
449
To make the emulation feasible, the FDC processor is not emulated
 
450
cycle-exactly as a 6504, but simply by checking the commands and
 
451
executing them on the host. This provides a fast FDC emulation, but
 
452
disallows the sending the FDC processor commands to execute code.
 
453
Applications where this is necessary are believed to be rather
 
454
seldom. Only the format command uses this feature, but this is
 
455
checked for.
 
456
 
 
457
</P>
 
458
<P>
 
459
The dual disk drive 2040 emulates one of the very first CBM disk
 
460
drives. This drive has DOS version 1. DOS1 uses an own disk type,
 
461
that is closely related to the 1541 disk image. Only on tracks 18-24
 
462
DOS1 disks have a sector more than 1541 disks. DOS1 disk images have
 
463
the extension .d67.
 
464
 
 
465
</P>
 
466
<P>
 
467
The dual disk drives 3040 and 4040 use the same logical disk format
 
468
as the VC1541 and the 2031. In fact, the 4040 was the first disk with
 
469
DOS version 2. The 3040 emulated here originally was the same as
 
470
2040, only for the european 30xx PET series. As many of the original
 
471
DOS1 disk drives were upgraded (a simple ROM upgrade!) to DOS2, I use
 
472
the 3040 number for a DOS 2.0 disk drive, and 4040 for a revised DOS
 
473
2 disk drive. It is, however, not yet clear whether the disks here
 
474
are write compatible to the 1541, as rumors exist that the write gap
 
475
between  sectors is different. But read compatible they are. As VICE
 
476
emulates the FDC processor in C and not as 6504 emulation, this does
 
477
not matter in VICE.
 
478
 
 
479
</P>
 
480
<P>
 
481
The drives 1001, 8050 and 8250 do actually have the very same DOS
 
482
ROM. Only the code in the FDC is different, which is taken care of by
 
483
VICE. So for all three of those disk drives, only <CODE>dos1001</CODE> is
 
484
needed. The DOS version used is 2.7.
486
485
 
487
486
</P>
488
487