~ubuntu-branches/ubuntu/utopic/vice/utopic-proposed

« back to all changes in this revision

Viewing changes to doc/vice.texi

  • Committer: Package Import Robot
  • Author(s): Logan Rosen
  • Date: 2014-05-10 21:08:23 UTC
  • mfrom: (17.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20140510210823-v5aojvy1pv1sg132
Tags: 2.4.dfsg+2.4.6-1ubuntu1
Use autotools-dev to update config.{sub,guess} for new arches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
 
64
64
@c page
65
65
@vskip 0pt plus 1filll
66
 
Copyright @copyright{} 1998-2012 Dag Lem
67
 
Copyright @copyright{} 1999-2012 Andreas Matthies
68
 
Copyright @copyright{} 1999-2012 Martin Pottendorfer
69
 
Copyright @copyright{} 2005-2012 Marco van den Heuvel
70
 
Copyright @copyright{} 2006-2012 Christian Vogelgsang
71
 
Copyright @copyright{} 2007-2012 Fabrizio Gennari
72
 
Copyright @copyright{} 2007-2012 Daniel Kahlin
73
 
Copyright @copyright{} 2008-2012 Antti S. Lankila
74
 
Copyright @copyright{} 2009-2012 Groepaz
75
 
Copyright @copyright{} 2009-2012 Ingo Korb
76
 
Copyright @copyright{} 2009-2012 Errol Smith
77
 
Copyright @copyright{} 2010-2012 Olaf Seibert
78
 
Copyright @copyright{} 2011-2012 Marcus Sutton
79
 
Copyright @copyright{} 2011-2012 Ulrich Schulz
80
 
Copyright @copyright{} 2011-2012 Stefan Haubenthal
81
 
Copyright @copyright{} 2011-2012 Thomas Giesel
82
 
Copyright @copyright{} 2011-2012 Kajtar Zsolt
83
 
Copyright @copyright{} 2012-2012 Benjamin 'BeRo' Rosseaux
 
66
Copyright @copyright{} 1998-2014 Dag Lem
 
67
Copyright @copyright{} 1999-2014 Andreas Matthies
 
68
Copyright @copyright{} 1999-2014 Martin Pottendorfer
 
69
Copyright @copyright{} 2005-2014 Marco van den Heuvel
 
70
Copyright @copyright{} 2006-2014 Christian Vogelgsang
 
71
Copyright @copyright{} 2007-2014 Fabrizio Gennari
 
72
Copyright @copyright{} 2007-2014 Daniel Kahlin
 
73
Copyright @copyright{} 2008-2014 Antti S. Lankila
 
74
Copyright @copyright{} 2009-2014 Groepaz
 
75
Copyright @copyright{} 2009-2014 Ingo Korb
 
76
Copyright @copyright{} 2009-2014 Errol Smith
 
77
Copyright @copyright{} 2010-2014 Olaf Seibert
 
78
Copyright @copyright{} 2011-2014 Marcus Sutton
 
79
Copyright @copyright{} 2011-2014 Ulrich Schulz
 
80
Copyright @copyright{} 2011-2014 Stefan Haubenthal
 
81
Copyright @copyright{} 2011-2014 Thomas Giesel
 
82
Copyright @copyright{} 2011-2014 Kajtar Zsolt
 
83
Copyright @copyright{} 2012-2014 Benjamin 'BeRo' Rosseaux
84
84
 
85
85
Copyright @copyright{} 2000-2011 Spiro Trikaliotis
86
86
Copyright @copyright{} 2007-2011 Hannu Nuotio
559
559
@chapter About VICE
560
560
 
561
561
VICE is the one and only @dfn{Versatile Commodore Emulator}.  It provides
562
 
emulation of the Commodore C64, C64DTV, C128, VIC20, PET, PLUS4 and CBM-II computers
 
562
emulation of the Commodore C64, C64DTV, C128, VIC20, PET, PLUS4, SCPU64 and CBM-II computers
563
563
within a single package.  The emulators run as separate programs, but have
564
564
the same user interface, share the same settings and support the same
565
565
file formats.
577
577
accurate; it tries to emulate chip timings as precisely as possible and
578
578
does so @emph{efficiently}.
579
579
 
580
 
Please do @emph{not} expect the C64DTV, C128, PET, PLUS4 and CBM-II emulators to
 
580
Please do @emph{not} expect the C64DTV, C128, PET, PLUS4, SCPU64 and CBM-II emulators to
581
581
be as good as the C64 or VIC20 one, as they are still under construction.
582
582
 
583
583
@emph{Notice:} This documentation is written for the Unix release of VICE.
589
589
* VIC20 emulator features::
590
590
* PET emulator features::
591
591
* CBM-II emulator features::
 
592
* SCPU64 emulator features::
592
593
* Keyboard emulation::
593
594
* Joystick emulation::
594
595
* Disk drive emulation::
617
618
including synchronisation, ring modulation and filters.  There are three
618
619
emulators of the SID chip available: first is the ``standard'' VICE
619
620
emulator, available since VICE 0.12; the second is Dag Lem's reSID
620
 
engine and the third one is reSID-fp. The reSID engines are a lot more
621
 
accurate than the standard engine, but they are also a lot slower, and
622
 
only suitable for faster machines.
 
621
engine. The reSID engine is a lot more accurate than the standard engine, 
 
622
but it is also a lot slower, and only suitable for faster machines.
623
623
 
624
624
Naturally, also both CIAs (or VIAs, in some cases) are fully emulated
625
625
and cycle accurate.
729
729
@c FIXME: add link to section
730
730
 
731
731
 
732
 
@node CBM-II emulator features, Keyboard emulation, PET emulator features, Preface
 
732
@node CBM-II emulator features, SCPU64 emulator features, PET emulator features, Preface
733
733
@section CBM-II emulator features
734
734
 
735
735
The CBM-II emulator emulates several types of CBM-II models.  Those
772
772
 
773
773
The different settings are described in @pxref{CBM-II model}.
774
774
 
775
 
@node Keyboard emulation, Joystick emulation, CBM-II emulator features, Preface
 
775
@node SCPU64 emulator features, Keyboard emulation, CBM-II emulator features, Preface
 
776
@section SCPU64 emulator features
 
777
 
 
778
The XSCPU64 emulator is a simulation of a C64 equipped with a SuperCPU64 V2B. Features:
 
779
 
 
780
@itemize @bullet
 
781
@item 20 MHz asynchronous single cycle 65816 CPU core with proper dummy and invalid cycle handling.
 
782
@item 128 KiB static RAM, 0-16 MiB SIMM RAM, 64-512 KiB EPROM emulated and their respective timing details.
 
783
@item All RAM optimization configurations supported with write buffer.
 
784
@item I/O area access delays, write through to SRAM implemented.
 
785
@item Memory mappings including cartridge and boot memory map and kernal shadow.
 
786
@item Hardware registers and switches implemented.
 
787
@item Replacement SCPU64 ROM compatible with the original to avoid distribution problems
 
788
@item It's using the single cycle VICII core for accurate simulation
 
789
@end itemize
 
790
 
 
791
Still to do:
 
792
 
 
793
@itemize @bullet
 
794
@item Measure and verify VICII interrupt phase shift
 
795
@item Measure and verify BA phase shift
 
796
@item SIMM RAM extra 7.5 cycle refresh delay every 10us missing.
 
797
@item CPU NMI support for ``reset'' button
 
798
@end itemize
 
799
 
 
800
The emulation is quite accurate but not perfect. If you code something timing
 
801
intensive using this simulation please always check it on real hardware to avoid
 
802
bad surprises.
 
803
 
 
804
The hardware itself is asynchronous in nature, therefore caution must be taken
 
805
to not do long timing loops without synchronization in 20 MHz mode. Also don't
 
806
squeeze out the last remaining cycles without leaving a safety buffer.
 
807
Synchronization points can be created by doing I/O reads or writes and leaving
 
808
a few hundred cycles left each frame will not hurt.
 
809
 
 
810
Otherwise it can happen that the code is running on this version of VICE or my
 
811
SCPU64 V2+C128D perfectly but nowhere else due to manufacturing variations and
 
812
frequency drifts.
 
813
 
 
814
@node Keyboard emulation, Joystick emulation, SCPU64 emulator features, Preface
776
815
@section The keyboard emulation
777
816
 
778
817
There are two ways of emulating the keyboard in VICE.
1165
1204
@item
1166
1205
@code{xcbm5x0}, the CBM-II emulator (VIC-II models)
1167
1206
 
 
1207
@item
 
1208
@code{xscpu64}, the SCPU64 emulator
 
1209
 
1168
1210
@end itemize
1169
1211
 
1170
1212
You can run each of them by simply typing the name from a shell or by configuring
1372
1414
 
1373
1415
Where @code{PREFIX} is the installation prefix (usually
1374
1416
@file{/usr/local}), @code{EMU} is the name of the emulated machine
1375
 
(@code{C64}, @code{C64DTV}, @code{C128}, @code{PET},  @code{PLUS4}, @code{CBM-II} 
 
1417
(@code{C64}, @code{C64DTV}, @code{C128}, @code{PET},  @code{PLUS4}, @code{CBM-II}, @code{SCPU64}
1376
1418
or @code{VIC20}) and @code{BOOTPATH} is the directory where the executable resides.
1377
1419
The disk drive ROMs are looked for in a directory with @code{EMU} set to
1378
1420
@code{DRIVES}. @code{$HOME} is the user's home directory.
1449
1491
 
1450
1492
@end itemize
1451
1493
 
1452
 
The C128, VIC20 and C64 emulators also need the following DOS ROMs for
 
1494
The C128, VIC20, SCPU64 and C64 emulators also need the following DOS ROMs for
1453
1495
the hardware-level emulation of the 1541, 1571, 1581, 2000 and 4000 disk
1454
1496
drives:
1455
1497
 
1641
1683
 
1642
1684
@end itemize
1643
1685
 
 
1686
The SCPU64 needs the following files:
 
1687
 
 
1688
@itemize @bullet
 
1689
 
 
1690
@item
 
1691
@file{scpu64}, the SCPU64 ROM (128 Kbytes)
 
1692
 
 
1693
@item
 
1694
@file{chargen}, the character generator ROM (4 Kbytes)
 
1695
 
 
1696
@end itemize
 
1697
 
1644
1698
@node Keymap files, Palette files, ROM files, System files
1645
1699
@section Keymap files
1646
1700
 
1809
1863
As you can see, the file even uses the same syntax as the
1810
1864
resource file, it is just a bit stripped down.
1811
1865
 
 
1866
While a Romset file is processed, the directory where the Romset file
 
1867
was found is temporarily prepended to the search path (@code{Directory}
 
1868
resource). This also means that if you have a setting for
 
1869
@code{Directory} in it, its effect is limited to the Romset file itself.
 
1870
 
1812
1871
@node Basics, Settings and resources, System files, Top
1813
1872
@chapter Basic operation
1814
1873
 
5828
5887
@item SidEngine
5829
5888
Integer specifying what SID engine will be used (@code{0}: FASTSID, @code{1}: RESID
5830
5889
, @code{2}: CATWEASELMKIII, @code{3}: HARDSID, @code{4}: PARSID_PORT1, @code{5}: PARSID_PORT2
5831
 
, @code{6}: PARSID_PORT3, @code{7}: RESID_FP).
 
5890
, @code{6}: PARSID_PORT3).
5832
5891
 
5833
5892
@vindex SidResidSampling
5834
5893
@item SidResidSampling
5880
5939
258: ReSID 8580 + digiboost,
5881
5940
1024: ParSID in par port 1,
5882
5941
1280: ParSID in par port 2,
5883
 
1536: ParSID in par port 3,
5884
 
1800: ReSID-FP 6581R3 4885,
5885
 
1801: ReSID-FP 6581R3 0486S,
5886
 
1802: ReSID-FP 6581R3 3984,
5887
 
1803: ReSID-FP 6581R4 AR 3789,
5888
 
1804: ReSID-FP 6581R3 4485,
5889
 
1805: ReSID-FP 6581R4 1986S,
5890
 
1808: ReSID-FP 8580R5 3691,
5891
 
1809: ReSID-FP 8580R5 3691 + digiboost,
5892
 
1810: ReSID-FP 8580R5 1489,
5893
 
1811: ReSID-FP 8580R5 1489D).
 
5942
1536: ParSID in par port 3).
5894
5943
 
5895
5944
@cindex -sidfilters, +sidfilters
5896
5945
@item -sidfilters
6643
6692
@item -chargse <name>
6644
6693
Specify name of Swedish character generator ROM image
6645
6694
 
6646
 
@cindex -intfunc, +intfunc
 
6695
@cindex -intfunc
6647
6696
@item -intfunc
6648
6697
@itemx +intfunc
6649
 
Enable/Disable the internal Function ROM
 
6698
Enable/Disable the internal Function ROM (0: None, 1: ROM, 2: RAM, 3: RTC)
6650
6699
@cindex -intfrom
6651
6700
@item -intfrom <name>
6652
6701
Specify name of internal Function ROM image
6653
6702
 
6654
 
@cindex -extfunc, +extfunc
 
6703
@cindex -extfunc
6655
6704
@item -extfunc
6656
6705
@itemx +extfunc
6657
 
Enable/Disable the external Function ROM
 
6706
Enable/Disable the external Function ROM (0: None, 1: ROM, 2: RAM, 3: RTC)
6658
6707
@cindex -extfrom
6659
6708
@item -extfrom <name>
6660
6709
Specify name of external Function ROM image
8243
8292
@item -Crtcextpal
8244
8293
Use an external palette (file)
8245
8294
@cindex -Crtcpalette
8246
 
@itemx -Crtcpalette NAME
 
8295
@item -Crtcpalette NAME
8247
8296
Specify @code{NAME} as the palette file (@code{CrtcPaletteFile}).
8248
8297
@cindex -Crtcfulldevice
8249
8298
@item -Crtcfulldevice <device>
19860
19909
Made some console, dialog and joystick fixes for the BeOS port.
19861
19910
Maintains the BeOS port.
19862
19911
 
 
19912
@item
19863
19913
@b{Ulrich Schulz}
19864
19914
Maintains the Dingoo port(s).
19865
19915
 
19866
19916
@item
19867
19917
@b{Kajtar Zsolt}
19868
 
Wrote the IDE64 interface emulation, FD2000/4000 drive emulation
19869
 
and alot of fixes. Improved the mouse support. Added drive burst
19870
 
modification support. Added 1541 drive sounds emulation. Improved
 
19918
Wrote the IDE64 interface emulation, FD2000/4000 drive emulation, SCPU64
 
19919
emulation and alot of fixes. Improved the mouse support. Added drive
 
19920
burst modification support. Added 1541 drive sounds emulation. Improved
19871
19921
c64 cart emulation.
19872
19922
 
19873
19923
@end itemize
20196
20246
@b{Magnus Lind}
20197
20247
Atari ST mouse and Atari CX-22 trackball emulation and pixel
20198
20248
aspect fixes. Improved the Amiga mouse emulation. Improved
20199
 
the vic20 sound output. Improved sound fragment size handling.
 
20249
the vic20 sound output. Added windows POV hat support.
 
20250
Improved sound fragment size handling.
 
20251
 
 
20252
@item
 
20253
@b{Locnet}
 
20254
Made the initial android port of x64.
20200
20255
 
20201
20256
@item
20202
20257
@b{Wolfgang Lorenz}
20488
20543
 
20489
20544
@itemize @bullet
20490
20545
@item
20491
 
Copyright @copyright{} 1998-2012 Dag Lem
20492
 
@item
20493
 
Copyright @copyright{} 1999-2012 Andreas Matthies
20494
 
@item
20495
 
Copyright @copyright{} 1999-2012 Martin Pottendorfer
20496
 
@item
20497
 
Copyright @copyright{} 2005-2012 Marco van den Heuvel
20498
 
@item
20499
 
Copyright @copyright{} 2006-2012 Christian Vogelgsang
20500
 
@item
20501
 
Copyright @copyright{} 2007-2012 Fabrizio Gennari
20502
 
@item
20503
 
Copyright @copyright{} 2007-2012 Daniel Kahlin
20504
 
@item
20505
 
Copyright @copyright{} 2009-2012 Groepaz
20506
 
@item
20507
 
Copyright @copyright{} 2009-2012 Ingo Korb
20508
 
@item
20509
 
Copyright @copyright{} 2009-2012 Errol Smith
20510
 
@item
20511
 
Copyright @copyright{} 2010-2012 Olaf Seibert
20512
 
@item
20513
 
Copyright @copyright{} 2011-2012 Marcus Sutton
20514
 
@item
20515
 
Copyright @copyright{} 2011-2012 Ulrich Schulz
20516
 
@item
20517
 
Copyright @copyright{} 2011-2012 Stefan Haubenthal
20518
 
@item
20519
 
Copyright @copyright{} 2011-2012 Thomas Giesel
20520
 
@item
20521
 
Copyright @copyright{} 2011-2012 Kajtar Zsolt
20522
 
@item
20523
 
Copyright @copyright{} 2012-2012 Benjamin 'BeRo' Rosseaux
 
20546
Copyright @copyright{} 1998-2014 Dag Lem
 
20547
@item
 
20548
Copyright @copyright{} 1999-2014 Andreas Matthies
 
20549
@item
 
20550
Copyright @copyright{} 1999-2014 Martin Pottendorfer
 
20551
@item
 
20552
Copyright @copyright{} 2005-2014 Marco van den Heuvel
 
20553
@item
 
20554
Copyright @copyright{} 2006-2014 Christian Vogelgsang
 
20555
@item
 
20556
Copyright @copyright{} 2007-2014 Fabrizio Gennari
 
20557
@item
 
20558
Copyright @copyright{} 2007-2014 Daniel Kahlin
 
20559
@item
 
20560
Copyright @copyright{} 2009-2014 Groepaz
 
20561
@item
 
20562
Copyright @copyright{} 2009-2014 Ingo Korb
 
20563
@item
 
20564
Copyright @copyright{} 2009-2014 Errol Smith
 
20565
@item
 
20566
Copyright @copyright{} 2010-2014 Olaf Seibert
 
20567
@item
 
20568
Copyright @copyright{} 2011-2014 Marcus Sutton
 
20569
@item
 
20570
Copyright @copyright{} 2011-2014 Ulrich Schulz
 
20571
@item
 
20572
Copyright @copyright{} 2011-2014 Stefan Haubenthal
 
20573
@item
 
20574
Copyright @copyright{} 2011-2014 Thomas Giesel
 
20575
@item
 
20576
Copyright @copyright{} 2011-2014 Kajtar Zsolt
 
20577
@item
 
20578
Copyright @copyright{} 2012-2014 Benjamin 'BeRo' Rosseaux
20524
20579
 
20525
20580
@item
20526
20581
Copyright @copyright{} 2000-2011 Spiro Trikaliotis