471
472
A rather complete emulation of the SID sound chip is also provided.
472
473
All the basic features are implemented as well as most of the complex
473
474
ones including synchronisation, ring modulation and filters. There are
474
two emulators of the SID chip available: one is the "standard" VICE
475
emulator, available since VICE 0.12; the other one is Dag Lem's reSID
476
engine. The reSID engine is a lot more accurate than the standard
477
engine, but it is also a lot slower, and only suitable for faster
475
three emulators of the SID chip available: first is the "standard" VICE
476
emulator, available since VICE 0.12; the second is Dag Lem's reSID
477
engine and the third one is reSID-fp. The reSID engines are a lot more
478
accurate than the standard engine, but they are also a lot slower, and
479
only suitable for faster machines.
480
481
Naturally, also both CIAs (or VIAs, in some cases) are fully emulated
481
482
and cycle accurate.
484
File: vice.info, Node: C128 emulator features, Next: VIC20 emulator features, Prev: C64 emulator features, Up: Preface
486
2.2 C128 emulator features
485
File: vice.info, Node: C64DTV emulator features, Next: C128 emulator features, Prev: C64 emulator features, Up: Preface
487
2.2 C64DTV emulator features
488
============================
490
The C64DTV emulator, called `x64dtv', features emulation of C64DTV
491
revisions 2 and 3. The emulator is under construction, but most of the
492
DTV specific features are already supported (with varying accuracy).
494
Video cache is disabled by default as it currently doesn't work with
495
some of C64DTV's new video modes. The new video modes have a simple
496
"fake" video cache implementation that may give incorrect results and
497
decreased performance.
500
File: vice.info, Node: C128 emulator features, Next: VIC20 emulator features, Prev: C64DTV emulator features, Up: Preface
502
2.3 C128 emulator features
487
503
==========================
489
505
The C128 emulator, called `x128', features a complete emulation of the
490
506
internal MMU ("Memory Management Unit"), 80 column VDC screen, fast IEC
491
bus emulation, Z80 emulation plus all the features of the C64 emulation.
492
The following things are missing, though:
507
bus emulation, 2 MHz mode, Z80 emulation plus all the features of the
497
511
File: vice.info, Node: VIC20 emulator features, Next: PET emulator features, Prev: C128 emulator features, Up: Preface
499
2.3 VIC20 emulator features
513
2.4 VIC20 emulator features
500
514
===========================
502
516
The VIC20 emulates all the internal hardware, including the VIA chips.
3546
File: vice.info, Node: VIC20-specific, Next: PET-specific, Prev: C64/128-specific, Up: Machine-specific features
3548
7.2 VIC20-specific commands and settings
3594
File: vice.info, Node: C64DTV-specific, Next: VIC20-specific, Prev: C64/128-specific, Up: Machine-specific features
3596
7.2 C64DTV-specific commands and settings
3597
=========================================
3599
This section lists the settings and commands that are C64DTV specific
3600
and thus are not present in the other emulators.
3604
* C64DTV ROM image::
3609
* Monitor DTV features::
3612
File: vice.info, Node: C64DTV ROM image, Next: DTV revision, Prev: C64DTV-specific, Up: C64DTV-specific
3614
7.2.1 C64DTV ROM image
3615
----------------------
3617
The DTV has a 2MB Flash chip which contains the kernal, basic and
3618
character set ROMs along with other data, such as games in the case of
3619
the original C64DTV ROM.
3621
The image file is a dump of the flash chip. It is exactly 2MB
3624
If you do not have a suitable image file, an image using the C64
3625
kernal, basic and charset is automatically created.
3627
If writing to the C64DTV ROM is enabled, the image file is rewritten
3628
with the current data when exiting x64dtv.
3630
Note that x64dtv tries to load the image file from the C64DTV
3631
directory first, and if it isn't found there, x64dtv tries to load it
3632
from the current directory. If you do not have `dtvrom.bin' in your
3633
C64DTV directory and writing to DTV ROM is enabled, the `dtvrom.bin'
3634
file is created to the current directory.
3636
NOTE: The original C64DTV ROM has somewhat distorted colors,
3637
normally you should use a patched rom.
3639
`-c64dtvromimage NAME'
3640
Specify `NAME' as the C64DTV ROM image
3644
Enable or disable writing to C64DTV ROM image
3647
The trueflashfs option is analogous to True drive emulation. If
3648
disabled, any file access to the flash filesystem (device 1) will go to
3649
the local file system instead.
3653
Enable or disable true hardware flash file system
3656
Specify `NAME' as directory for flash file system device
3660
File: vice.info, Node: DTV revision, Next: LumaFix, Prev: C64DTV ROM image, Up: C64DTV-specific
3665
The DTV revision 2 has a bug in the Blitter. Using revision 3 is
3666
recommended. Emulation of DTV revision 2 including Blitter bug is
3667
intended for testing DTV software.
3670
Specify DTV `REVISION' (2 or 3)
3674
File: vice.info, Node: LumaFix, Next: Userport, Prev: DTV revision, Up: C64DTV-specific
3679
The PAL C64DTVs have wrong resistors in the video output circuit, which
3680
causes incorrect luminances. Several hardware solutions ("LumaFixes")
3681
have been developed to fix this flaw.
3683
The fixed video output is emulated by selecting "New Luminances".
3684
The unmodified C64DTV video output can be emulated with "Old
3687
The default setting is "New Luminances".
3690
File: vice.info, Node: Userport, Next: Debug, Prev: LumaFix, Up: C64DTV-specific
3695
The C64DTV userport emulation currently supports three devices: Hummer
3696
ADC, userport joystick and PS/2 mouse.
3698
The joystick that controls either the Hummer ADC or userport joystick
3699
can be selected using the same parameter or menu option.
3701
While using the Hummer ADC, joystick UP and DOWN are mapped to the
3702
Hummer buttons A and B respectively. LEFT and RIGHT set the ADCs output
3703
to 0 and 255. Centering the joystick results in the ADC value of 128.
3705
Currently the Hummer ADC and userport joystick are mutually
3706
exclusive. This means that enabling one disables the other. PS/2 mouse
3707
emulation can be used simultaneously with either Hummer ADC or userport
3710
`-hummerusrdev DEVICE'
3711
Select Hummer Userport device (0: None, 1: ADC, 2: Joystick)
3713
`-hummerusrjoyport PORT'
3714
Select which joystick port should be mapped to the userport
3718
Enable or disable PS/2 mouse on userport
3722
File: vice.info, Node: Debug, Next: Monitor DTV features, Prev: Userport, Up: C64DTV-specific
3727
Debugging information on Blitter, DMA and Flash can be enabled with
3728
command line parameters. This can be useful for DTV software
3733
Enable or disable DTV Blitter log
3737
Enable or disable DTV DMA log
3741
Enable or disable DTV Flash log
3745
File: vice.info, Node: Monitor DTV features, Prev: Debug, Up: C64DTV-specific
3747
7.2.6 Monitor DTV features
3748
--------------------------
3750
Currently the registers A, Y and X are registers R0, R1 and R2
3751
regardless of the mapping, which can be seen and modified via the
3752
registers ACM and XYM.
3754
The monitor can access all 2MB of RAM and 2MB of Flash, but only 64
3755
kB at a time. The 64kB bank can be selected with "bank ram00".."ram1f"
3756
for RAM and "bank rom00".."rom1f" for Flash.
3758
The "load" command can load large files (>64kB) correctly if the
3759
bank is set to "ramXX", where XX is the starting bank (usually
3763
File: vice.info, Node: VIC20-specific, Next: PET-specific, Prev: C64DTV-specific, Up: Machine-specific features
3765
7.3 VIC20-specific commands and settings
3549
3766
========================================
3551
3768
This section lists the settings and commands that are VIC20-specific and
6169
6481
devices and improved the tape emulation.
6171
6483
* Marco van den Heuvel Translated the UI to Dutch. Made the
6172
internationalization support for the Win32 and Amiga ports. Wrote
6484
Internationalization support for the Win32 and Amiga ports. Wrote
6173
6485
the GEORAM and RamCart cartridge code. Wrote the c64 +60K, +256K
6174
6486
and 256K memory expansions code. Wrote the pet REU code. Wrote the
6175
6487
plus4 memory expansions code. Made the ethernet support for the
6176
Msdos port. Maintains the RiscOS, QNX 6.x, Solaris, GP2X, Minix
6177
3.x, Amiga, ppc-BeOS and newly resurrected OS/2 binary ports.
6178
Added new .crt support. Added new screenshot formats. Added new
6179
sound recording support. Added SIDcart support for pet, plus4 and
6180
vic20. Added digimax support. Improved the MMC64 emulation. Added
6181
2 MHz mode to x128. And lots of other fixes and improvements.
6488
Msdos port. Maintains the RiscOS, QNX 4.x, QNX 6.x, SkyOS,
6489
Solaris, Openserver, Unixware, HPUX, GP2X, Minix 3.x, Amiga,
6490
ppc-BeOS and newly resurrected OS/2 binary ports. Added new .crt
6491
support. Added new screenshot formats. Added new sound recording
6492
support. Added SIDcart support for pet, plus4 and vic20. Improved
6493
the MMC64 emulation. Added 2 MHz mode for x128. Added the Hummer
6494
userport joystick emulation. Added text copy and paste support to
6495
the amiga and beos ports. Added DQBB and Isepic cartridge support.
6496
And lots of other fixes and improvements.
6183
6498
* Christian Vogelgsang maintains the Mac OS X port. Added Intel Mac
6184
6499
support and universal binary creation. Wrote the build scripts for
6185
6500
all external Mac libraries and the bindist bundle tool. Improved
6186
6501
the TFE chip emulation. Added some Gtk+ fixes.
6503
* Fabrizio Gennari added some improvements to the MSDOS- and GTK
6506
* Hannu Nuotio implemented DTV flash emulation, DTV support in the
6507
monitor, large parts of the DTV VIC emulation, burst mode and skip
6508
cycle emulation as well as many other things. Added experimental
6509
NEOS and Amiga mouse support. Fixed mouse support for single size
6510
in unix. Fixed mouse grab and menu popup for xaw. Added new
6511
monitor commands and features. Added the memmap feature. Made MIDI
6512
support and MIDI driver code for *nix.
6514
* M. Kiesel started implementing x64dtv. The C64DTV memory model and
6515
early versions of the DMA and Blitter engine have been implemented
6516
by him. Added new monitor commands and features.
6518
* Daniel Kahlin Worked on DTV VIC emulation, palette, DTV SID support
6519
in resid, better DMA/Blitter support and did lots of refactoring.
6520
Added new monitor commands and features. Improved the VIC
6521
emulation for xvic. Made MIDI driver code for win32.
6189
6524
Former team members:
7087
Node: C64 emulator features22617
7088
Node: C128 emulator features23595
7089
Node: VIC20 emulator features24053
7090
Node: PET emulator features24974
7091
Node: CBM-II emulator features27919
7092
Node: Keyboard emulation30341
7093
Node: Joystick emulation32674
7094
Node: Disk drive emulation33395
7095
Node: Supported file formats39725
7096
Node: Common problems40766
7097
Node: Sound problems41099
7098
Node: Shared memory problems42291
7099
Node: Printer problems43557
7100
Node: PET keyboard problems44437
7102
Node: Command-line initialization46069
7103
Node: Command-line autostart47125
7104
Node: System files48436
7105
Node: ROM files50605
7106
Node: Keymap files56828
7107
Node: Palette files59569
7108
Node: Romset files60807
7110
Node: Emulation window62205
7113
Node: File Selector65680
7114
Node: Disk and tape images66972
7115
Node: Previewing contents69169
7116
Node: Autostart69881
7117
Node: Compressed files70945
7118
Node: Zipcode and Lynx72281
7120
Node: Settings and resources74702
7121
Node: Resource files76983
7122
Node: Resources and command-line78510
7123
Node: Performance settings79781
7124
Node: Performance resources81415
7125
Node: Performance options81961
7126
Node: Video settings82568
7127
Node: Video resources84275
7128
Node: Video options86175
7129
Node: Keyboard settings87243
7130
Node: Keyboard resources87958
7131
Node: Keyboard options89392
7132
Node: Sound settings90515
7133
Node: Sound resources92399
7134
Node: Sound options95184
7135
Node: Drive settings95900
7136
Node: Drive resources100417
7137
Node: Drive options101717
7138
Node: Peripheral settings103280
7139
Node: File system device settings103964
7140
Node: File system device resources105837
7141
Node: File system device options106924
7142
Node: Printer settings107379
7143
Node: Printer resources108843
7144
Node: Printer options109573
7145
Node: No kernal traps110255
7146
Node: No traps resources110796
7147
Node: No traps options111269
7148
Node: RS232 settings111586
7149
Node: RS232 resources114521
7150
Node: RS232 options115761
7151
Node: RS232 usage116771
7152
Node: Misc settings118533
7153
Node: Misc resources118808
7154
Node: Misc options121384
7155
Node: Machine-specific features122129
7156
Node: C64/128-specific122750
7157
Node: C64 cartridges123462
7158
Node: VIC-II settings125054
7159
Node: VIC-II resources126652
7160
Node: VIC-II options127055
7161
Node: SID settings127542
7162
Node: SID resources130660
7163
Node: SID options131504
7164
Node: C64 I/O extension settings132505
7165
Node: C64 I/O extension resources133802
7166
Node: C64 I/O extension options134341
7167
Node: C64/128 system ROM settings134890
7168
Node: C64/128 system ROM resources135290
7169
Node: C64/128 system ROM options136521
7170
Node: VIC20-specific137048
7171
Node: VIC20 cartridges137459
7172
Node: VIC20 memory expansions139274
7173
Node: VIC20 memconf resources141081
7174
Node: VIC20 memconf options141562
7175
Node: VIC20 system ROM settings142698
7176
Node: VIC20 system ROM resources143080
7177
Node: VIC20 system ROM options143747
7178
Node: PET-specific144374
7179
Node: PET model144779
7180
Node: PET diagnostic pin147869
7181
Node: PET commandline options148350
7182
Node: PET colors149818
7183
Node: CBM-II-specific150389
7184
Node: CBM-II model150766
7185
Node: CBM-II commandline options153064
7186
Node: CBM-II colors154140
7187
Node: Snapshots154719
7188
Node: Snapshot usage155137
7189
Node: Snapshot format156049
7190
Node: Emulator modules156386
7191
Node: x64 modules156751
7192
Node: x128 modules158543
7193
Node: xvic modules160249
7194
Node: xpet modules161246
7195
Node: xcbm2 modules162614
7196
Node: Drive modules164545
7197
Node: Module formats164963
7198
Node: Module Terminology165845
7199
Node: Module framework166581
7200
Node: CPU 6502 module168388
7201
Node: CIA 6526 module169851
7202
Node: VIA 6522 module173311
7203
Node: PIA 6520 module175182
7204
Node: TPI 6525 module176139
7205
Node: RIOT 6532 module177504
7206
Node: SID 6581 module178944
7207
Node: ACIA 6551 module179148
7208
Node: VIC-I module180541
7209
Node: VIC-II module180745
7210
Node: CRTC module180946
7211
Node: C64 memory module187043
7212
Node: C128 memory module188334
7213
Node: VIC20 memory module189551
7214
Node: PET memory module192959
7215
Node: CBM-II memory module197173
7216
Node: C500 data module201201
7217
Node: Monitor201630
7218
Node: Terminology202473
7219
Node: Machine state commands204692
7220
Node: Memory commands205504
7221
Node: Assembly commands208354
7222
Node: Checkpoint commands209106
7223
Node: General commands211520
7224
Node: Disk commands212381
7225
Node: Command file commands213649
7226
Node: Label commands214181
7227
Node: Miscellaneous commands215080
7229
Node: c1541 file specification217068
7230
Node: c1541 quoting217672
7231
Node: c1541 commands and options218523
7232
Node: c1541 executing shell commands221708
7233
Node: File formats222111
7235
Node: T64 file structure222893
7236
Node: T64 tape record223359
7237
Node: T64 file record224157
7239
Node: Acknowledgments239411
7240
Node: Copyright250299
7241
Node: Contacts251924
7242
Node: Home page252436
7243
Node: Sending feedback252840
7244
Node: Contributing255190
7245
Node: Newsgroups256309
7246
Node: FAQs you should read256948
7247
Node: Concept Index257270
7248
Node: Resource Index278307
7507
Node: C64 emulator features22657
7508
Node: C64DTV emulator features23672
7509
Node: C128 emulator features24300
7510
Node: VIC20 emulator features24713
7511
Node: PET emulator features25634
7512
Node: CBM-II emulator features28579
7513
Node: Keyboard emulation31001
7514
Node: Joystick emulation33334
7515
Node: Disk drive emulation34055
7516
Node: Supported file formats40385
7517
Node: Common problems41428
7518
Node: Sound problems41761
7519
Node: Shared memory problems42953
7520
Node: Printer problems44219
7521
Node: PET keyboard problems45099
7523
Node: Command-line initialization46767
7524
Node: Command-line autostart47823
7525
Node: System files49134
7526
Node: ROM files51303
7527
Node: Keymap files57526
7528
Node: Palette files60267
7529
Node: Romset files61505
7531
Node: Emulation window62903
7534
Node: File Selector66378
7535
Node: Disk and tape images67670
7536
Node: Previewing contents69867
7537
Node: Autostart70579
7538
Node: Compressed files71643
7539
Node: Zipcode and Lynx72979
7541
Node: Settings and resources75400
7542
Node: Resource files77748
7543
Node: Resources and command-line79275
7544
Node: Performance settings80546
7545
Node: Performance resources82180
7546
Node: Performance options82726
7547
Node: Video settings83333
7548
Node: Video resources85040
7549
Node: Video options86940
7550
Node: Keyboard settings88008
7551
Node: Keyboard resources88723
7552
Node: Keyboard options90157
7553
Node: Sound settings91280
7554
Node: Sound resources93164
7555
Node: Sound options95949
7556
Node: Drive settings96665
7557
Node: Drive resources101182
7558
Node: Drive options102482
7559
Node: Peripheral settings104045
7560
Node: File system device settings104729
7561
Node: File system device resources106602
7562
Node: File system device options107689
7563
Node: Printer settings108144
7564
Node: Printer resources109608
7565
Node: Printer options110338
7566
Node: No kernal traps111020
7567
Node: No traps resources111561
7568
Node: No traps options112034
7569
Node: RS232 settings112351
7570
Node: RS232 resources115289
7571
Node: RS232 options116529
7572
Node: RS232 usage117539
7573
Node: Monitor settings119301
7574
Node: Monitor options119569
7575
Node: Misc settings120137
7576
Node: Misc resources120414
7577
Node: Misc options122990
7578
Node: Machine-specific features123735
7579
Node: C64/128-specific124502
7580
Node: C64 cartridges125215
7581
Node: VIC-II settings126807
7582
Node: VIC-II resources128405
7583
Node: VIC-II options128808
7584
Node: SID settings129295
7585
Node: SID resources132413
7586
Node: SID options133257
7587
Node: C64 I/O extension settings134258
7588
Node: C64 I/O extension resources135555
7589
Node: C64 I/O extension options136094
7590
Node: C64/128 system ROM settings136643
7591
Node: C64/128 system ROM resources137043
7592
Node: C64/128 system ROM options138274
7593
Node: C64DTV-specific138801
7594
Node: C64DTV ROM image139237
7595
Node: DTV revision140786
7596
Node: LumaFix141153
7597
Node: Userport141647
7599
Node: Monitor DTV features143166
7600
Node: VIC20-specific143790
7601
Node: VIC20 cartridges144200
7602
Node: VIC20 memory expansions146015
7603
Node: VIC20 memconf resources147822
7604
Node: VIC20 memconf options148303
7605
Node: VIC20 system ROM settings149439
7606
Node: VIC20 system ROM resources149821
7607
Node: VIC20 system ROM options150488
7608
Node: PET-specific151115
7609
Node: PET model151520
7610
Node: PET diagnostic pin154610
7611
Node: PET commandline options155091
7612
Node: PET colors156559
7613
Node: CBM-II-specific157130
7614
Node: CBM-II model157507
7615
Node: CBM-II commandline options159805
7616
Node: CBM-II colors160881
7617
Node: Snapshots161460
7618
Node: Snapshot usage161878
7619
Node: Snapshot format162790
7620
Node: Emulator modules163127
7621
Node: x64 modules163492
7622
Node: x128 modules165284
7623
Node: xvic modules166990
7624
Node: xpet modules167987
7625
Node: xcbm2 modules169355
7626
Node: Drive modules171286
7627
Node: Module formats171704
7628
Node: Module Terminology172586
7629
Node: Module framework173322
7630
Node: CPU 6502 module175129
7631
Node: CIA 6526 module176592
7632
Node: VIA 6522 module180052
7633
Node: PIA 6520 module181923
7634
Node: TPI 6525 module182880
7635
Node: RIOT 6532 module184245
7636
Node: SID 6581 module185685
7637
Node: ACIA 6551 module185889
7638
Node: VIC-I module187282
7639
Node: VIC-II module187486
7640
Node: CRTC module187687
7641
Node: C64 memory module193784
7642
Node: C128 memory module195075
7643
Node: VIC20 memory module196292
7644
Node: PET memory module199700
7645
Node: CBM-II memory module203914
7646
Node: C500 data module207942
7647
Node: Monitor208371
7648
Node: Terminology209214
7649
Node: Machine state commands211695
7650
Node: Memory commands212900
7651
Node: Assembly commands216547
7652
Node: Checkpoint commands217299
7653
Node: General commands219713
7654
Node: Disk commands220676
7655
Node: Command file commands222477
7656
Node: Label commands223009
7657
Node: Miscellaneous commands224480
7659
Node: c1541 file specification227113
7660
Node: c1541 quoting227717
7661
Node: c1541 commands and options228568
7662
Node: c1541 executing shell commands231753
7663
Node: File formats232156
7665
Node: T64 file structure232938
7666
Node: T64 tape record233404
7667
Node: T64 file record234202
7669
Node: Acknowledgments249456
7670
Node: Copyright262548
7671
Node: Contacts264347
7672
Node: Home page264859
7673
Node: Sending feedback265565
7674
Node: Contributing268886
7675
Node: Newsgroups270633
7676
Node: FAQs you should read271272
7677
Node: Concept Index271594
7678
Node: Resource Index293507