Individual Computers Turbo Chameleon 64 User Manual

Individual Computers Turbo Chameleon 64 User Manual

Hide thumbs Also See for Turbo Chameleon 64:
Table of Contents

Advertisement

Quick Links

Turbo Chameleon 64

User Manual

Draft Version (Beta 7b)
12/06/12

Advertisement

Table of Contents
loading

Summary of Contents for Individual Computers Turbo Chameleon 64

  • Page 1: User Manual

    Turbo Chameleon 64 User Manual Draft Version (Beta 7b) 12/06/12...
  • Page 2: Table Of Contents

    Contents 1. Contents 1. Contents............................2 2. Getting started..........................4 2.1. What's in the Box?..............................5 2.2. Operation in standalone mode..........................6 2.2.1. Using the docking station..........................7 2.3. Operation in cartridge mode............................9 2.3.1. Operation on a C64............................9 2.4. Sound output................................10 3. Updating the Chameleon......................11 3.1.
  • Page 3 Contents 6. ChaCo, the Chameleon Control Software..................39 6.1. Preparations................................39 6.1.1. Linux / Mac OSX............................39 6.2. Linux notes................................39 6.3. Mac OSX notes..............................39 6.4. Overview................................40 6.4.1. Slot Management............................41 6.4.2. Memory Access.............................41 6.4.3. Debugging..............................41 6.4.4. Status display..............................41 6.5. Examples................................42 6.5.1. Starting a core..............................42 6.5.2.
  • Page 4: Getting Started

    Getting started 2. Getting started Thank you for purchasing an Individual Computers product. The Chameleon is one of the most complex projects that we've ever made for any computer, and it will take much more than this user manual to explain all the features and possibilities of this cartridge. Take your time to read all of this document.
  • Page 5: What's In The Box

    Getting started 2.1. What's in the Box? upper left corner: mini USB cable (for data transfers, 180cm) • middle bottom: Turbo Chameleon 64 :-) • upper right corner: breakout cable with connectors for USB (power supply, 80cm), keyboard • and mouse (both PS/2, 20cm), IEC (DIN, 20cm) a short user manual (which you do not need any more now that you have found this one) •...
  • Page 6: Operation In Standalone Mode

    USB port. In that case, please use a separate power supply. Connect your monitor to the VGA output. By default the Turbo Chameleon 64 FPGA core uses a standard 800x600 mode with a refresh rate of 72Hz. Some monitors don't support this high frequency.
  • Page 7: Using The Docking Station

    Getting started 2.2.1. Using the docking station The Chameleon docking station extends the available ports of your Chameleon by the following: – four joystick ports – one C64 keyboard connector – one Amiga 500 keyboard connector Both keyboard connectors are keyed, which means that they have a missing pin in order to help you finding the correct orientation of the connector.
  • Page 8 Getting started There is only one way that Chameleon fits the docking station: It's with the button side up. Slide the cartridge all the way in until the black connector is at least covered half by the Chameleon. Make sure that there's proper contact between the docking station and the Chameleon – the cartridge may not be tilted at all.
  • Page 9: Operation In Cartridge Mode

    Getting started 2.3. Operation in cartridge mode WARNING: Chameleon is a C64 cartridge. It does not work in the C128. Don't even try, as this might cause damage to the computer, the cartridge or both. Don't experiment, it can not work and you risk damage to valuable equipment that's not covered by warranty.
  • Page 10: Sound Output

    Getting started Now insert the cartridge into the C64 expansion port with the buttons facing up. Connect your VGA monitor to the VGA output of Chameleon. At this point, we recommend to also connect your old 15kHz screen, so you can compare the output of Chameleon against the output of the original VIC chip.
  • Page 11: Updating The Chameleon

    Updating the Chameleon 3. Updating the Chameleon Each release archive contains a combined ChaCo, core and software update. The two files needed to update manually (*.rbf for the core and *.bin for the menu and ROMs) can be found in the UPDATE directory.
  • Page 12: Updating Via Usb

    Updating the Chameleon 3.2. Updating via USB 3.2.1. Preparations Before updating your Chameleon, please make sure that it has sufficient power. Any and all trouble that has been reported so far was related to power problems that were caused by external power draining.
  • Page 13: If Something Goes Wrong

    Updating the Chameleon 3.3. If something goes wrong First, don't panic :) There is no way to “brick” the Chameleon by updating, the Chameleon might not start, but it can always be fixed by updating with a valid FPGA core image. In case updating using UPDATE.PRG failed (please report this), re-try updating via USB (see 3.2 Updating via USB above).
  • Page 14: Overview

    Overview 4. Overview Upon power-up, Chameleon will load the OS from its on board flash. It will then start the menu system which lets you perform various actions. (see chapter 5 Chameleon Menu System) The outermost button (right button) is your reset button. The middle button is the freeze and menu button.
  • Page 15: Using Disk Images

    Overview 4.2. Using disk images 4.2.1. Disk slot organization There are two emulated 1541 floppy drives of which each handles up to 4 different disk images which can be mounted via the file browser and then changed by pressing the left button (see chapter 5.4 Options).
  • Page 16: Using Cartridges

    Overview 4.3. Using cartridges Please note that a real-world cartridge consists of two major building blocks: The hardware, and the software. By switching a slot to a specific cartridge type, you merely select the hardware, but you don't have the contained software yet. Real C64 cartridges bring their software typically on EPROMs, which are emulated in the RAM space of Chameleon.
  • Page 17: Mounting Cartridge Images

    Overview 4.3.3. Mounting cartridge images Cartridge images can be mounted by the boot loader (see chapter 5.1 Boot Loader) or the file browser. In the file browser simply press return on a ROM or CRT file. Unless configured to always use slot 4, you will be asked which cartridge slot to use and the cartridge will be started.
  • Page 18: Chameleon Menu System

    Chameleon Menu System 5. Chameleon Menu System 5.1. Boot Loader The boot loader is executed once at start-up, it's job is to do some basic initialization: load the configuration data from flash • set up default MMU mapping • If "copy ROMs from C64" is enabled: copy C64 kernal- and basic-ROM to Chameleon RAM •...
  • Page 19: Limitations Of The Boot-Loader

    Chameleon Menu System At start-up the boot loader will check the following "magic keys": remote ← (Arrow left) ESCAPE hold down when loading core to skip boot loader (see NOTE) hold to force default configuration. hold to force fail safe configuration hold to skip menu After the boot loader has started, hold down any key other than space (since space is used by the config-ROM for the same thing) to pause before it starts the menu so you can see boot-loader...
  • Page 20: Keys

    Chameleon Menu System 5.2. Keys The menu system can be controlled by the following keys / buttons: PS/2 Key Remote Joy #2 Function <- (arrow left) ESCAPE ESCAPE exit menu/one level up RUN/STOP Cursor Cursor PLAY/STOP up/down navigate up/down up/down up/down Cursor Cursor...
  • Page 21: Main Menu

    Chameleon Menu System 5.3. Main Menu This is the main user interface and provides access to all features of the Chameleon core. Hotkey Menu Option Function Clear C64 Memory fill C64 memory with zeros and reset Clear ALL Memory fill C64 memory, reu, georam with 0 and reset Reset to Basic reset with all cartridges and expansions disabled File Browser...
  • Page 22: Options

    Chameleon Menu System 5.4. Options 5.4.1. CPU Turbo Option Turbo Mode Enable turbo mode. Turbo Speed Limit Set maximum speed if turbo is enabled. Turbo d030 bit Enable emulation of the VIC-IIe (C128) 2Mhz bit. Turbo IEC sensitive When enabled, the turbo will automatically slow down on IEC accesses.
  • Page 23: Cartridges And Memory Expansions

    Chameleon Menu System 5.4.3. Cartridges and Memory Expansions Option MMC64 Enable MMC64 emulation. default Cartridge Set default cartridge slot used by "reset with cartridge" and with “browser exec setup” set to “custom” Cartridge Type Slot 1 Set type of cartridge in slot 1. (see chapter 12.4 supported Cartridge types) Cartridge Type Slot 2 Set type of cartridge in slot 2.
  • Page 24: Vga Output

    Chameleon Menu System 5.4.5. VGA output Option VGA Mode Set display mode used for VGA output. Note: This features is currently highly experimental and only 800x600 (which is also the default) is expected to work properly. VGA Mode Test Test selected mode. Press RETURN once to switch to selected mode, then RETURN again to confirm or any other to switch back to default mode.
  • Page 25: Boot-Loader And Menu Settings

    Chameleon Menu System 5.4.8. Boot-loader and Menu settings Option boot from SD card Enable loading various files at boot time (see chapter 5.1 Boot Loader). boot skips menu If enabled the C64 starts with default cartridge. copy ROMs from C64 Copy basic- and kernal- ROM from C64 at boot time.
  • Page 26: Buttons

    Chameleon Menu System 5.4.9. Buttons Left The left button is the multi-purpose button of the Chameleon core and can be configured to be used as the following: Option Function Menu Start the menu system Cartridge Emulated cartridge button (see chapter 4.3 Using cartridges) Turbo Enable / Disable the CPU turbo Disk Drive 1 Cycle through mounted disk images on drive 1...
  • Page 27 Chameleon Menu System NOTE All options will generally, and always, get applied when leaving the menu. However there are some exceptions that apply when the menu was entered by "freezing" using the menu button and then "unfreezing" the running C64. This is needed so for example Chameleon-aware programs can also be interrupted.
  • Page 28: File Browser

    Chameleon Menu System 5.5. File Browser Press F5 in the main menu to enter the file browser: 5.5.1. Keys C64 Key PS/2 Key Remote Joy #2 ← (Arrow left) ESCAPE ESCAPE exit file browser "RUN/STOP" Cursor Cursor up/down PLAY/ navigate up/down up/down STOP Down...
  • Page 29 Chameleon Menu System C64 Key PS/2 Key Remote Joy #2 Copy file copy image £ (Pound) select SD-card (device 0) 1..7, 8..0 1..7, 8..0 select IEC device 11-17,8-10 + / - F10 / “-” (US) “ß” VOL UP/ choose device number (DE) DOWN “[“...
  • Page 30: User / File Menu

    Chameleon Menu System 5.5.2. User / File menu The user/file menu is brought up by pressing F4 any time in the file browser: (currently only on SD- card) Menu option Function create Directory creates a new directory create empty D64 creates an empty D64 file create empty G64 creates an empty G64 file (*1)
  • Page 31: Supported File Types

    Chameleon Menu System 5.5.3. Supported File types Extension File type .d64 1541 Disk image .t64 C64S Tape image (read only) .g64 1541 GCR image .sid Playsid SID tune .prg Plain program file (with load address) .crt CCS64 Cartridge Image. Also see chapter 12.4 supported Cartridge types .reu REU image .geo...
  • Page 32: Plugins

    Chameleon Menu System 5.5.4. Plugins default action: (RETURN) Type Action .d64 enter image .t64 enter image .g64 mount G64 image (see chapter 4.2.2 Mounting images) .sid play sid file .prg load and execute. inside images also mount image. .crt load and start cartridge image. (see chapter 12.4 supported Cartridge types) .reu load REU image .geo...
  • Page 33 Chameleon Menu System load action: (CBM + L) Type Action .prg load prg file to C64 memory (*) .reu load REU image .geo load GeoRAM image .rom load ROM images *) note that this will NOT mount the image it is located in and just load the selected file. execute action: (CBM + E) Type Action...
  • Page 34: Limitations Of The File-Browser

    Chameleon Menu System copy file: (F5) Type Action Copy file (to other panel) To copy a file, switch to two panel mode (CBM+P) and press F5 (on any file). This currently works on SD card and IEC drives in both directions. Write support for (d64) images is work in progress and currently disabled.
  • Page 35: Ml Monitor

    Chameleon Menu System 5.6. ML Monitor Note that the ML monitor is under construction and some features that you might expect from a fully working monitor are not implemented yet. These will get added over time. 5.6.1. Features illegal opcodes for assembling and disassembling •...
  • Page 36 Chameleon Menu System disassemble <addr> show disassembly fill <start> <limit> <byte1> [<byte2> ...] Fill an address range with a byte pattern go <addr> Start program on given address. If parameter is omitted use freezer address. hunt <start> <limit> <byte1> [<byte2> ...] Search for byte(s) in an address range io <addr>...
  • Page 37: Online Help

    Chameleon Menu System 5.7. Online Help To use the online help, please copy the CHAMHELP.HLP file into the CHAM64 directory of your SD card. Please note that the help file is work in progress, it will get updated when time permits. 5.7.1.
  • Page 38: System Info

    Chameleon Menu System 5.8. System Info The system info screen shows some basic information, such as the menu software version, the currently used FPGA slot, the RTC time and some details on the inserted SD card.
  • Page 39: Chaco, The Chameleon Control Software

    ChaCo, the Chameleon Control Software 6. ChaCo, the Chameleon Control Software ChaCo is an application that uses WxWidgets for the GUI. This makes it look different from other (Windows) applications, but gives us the chance to compile it for Linux or for the Mac. 6.1.
  • Page 40: Overview

    ChaCo, the Chameleon Control Software 6.4. Overview With a Chameleon connected, ChaCo will open with this screen:...
  • Page 41: Slot Management

    ChaCo, the Chameleon Control Software 6.4.1. Slot Management Selected slot: Enter the number of the slot that you want to flash /read/write/start into this field. Flash .rbf/ROM: This button starts the flash procedure of writing a core to a selected slot. (see chapter 6.5.2 Flashing a Core) Flash additional ROM: Tick this box if you want to add a rom file to the core file.
  • Page 42: Examples

    ChaCo, the Chameleon Control Software 6.5. Examples 6.5.1. Starting a core Let's cause an error, so you can see the LED blink: Set “selected slot” to 6 and click on the “Start Core” button. The error message in the window reflects what you should see on Chameleon: The red LED should blink seven times, then pause, then start over with blinking.
  • Page 43: Flashing A Core

    ChaCo, the Chameleon Control Software 6.5.2. Flashing a Core First of all, remove the SD card from the Chameleon. (The internal flash memory and the SD card use the sampe SPI bus internally, which sometimes causes flashing to fail) Now set the Selected slot number back to 0. Tick the box “flash additional ROM” and click on “Flash .rbf/ROM”.
  • Page 44: Accessing Memory

    ChaCo, the Chameleon Control Software 6.5.3. Accessing memory Now let's use ChaCo for some remote debugging! Power up the Chameleon and then select “reset with cartridge” (F7) followed by “INSTALL FASTLOAD” (again F7). The VGA screen should show something like this:...
  • Page 45 ChaCo, the Chameleon Control Software Now in ChaCo enter address 0x400 and size 360 into the fields for memory access. Then click on “Read memory”. ChaCo will read the memory of the C64 into a file that you can save to your PC's hard-disk.
  • Page 46 ChaCo, the Chameleon Control Software In a second step, we'll write back this same file to the C64 memory, but to a different address. Let's use address 0x590. Then click on “Write memory” and choose the file you've just saved (screen.bin).
  • Page 47: Command-Line Options

    ChaCo, the Chameleon Control Software The resulting display on the Chameleon VGA screen should be like this: What you've just done is to copy the first nine lines of the screen memory to lines ten and following of the C64 screen memory. 6.6.
  • Page 48: Chacocmd

    ChaCo, the Chameleon Control Software 6.7. chacocmd chacocmd is a small command-line tool with essentially the same functionality as ChaCo, intended for use by developers in makefiles and scripts. chacocmd recognizes these command-line options: -h --help Show all options --verbose enable verbose messages --debug enable debug messages...
  • Page 49: Frequently Asked Questions

    Frequently asked questions 7. Frequently asked questions I still use a tv or svideo monitor, can the Chameleon be used without a VGA monitor? Yes, although a few features of the cart will be unavailable, such as the Chameleon Object Processor.
  • Page 50 Frequently asked questions How fast is the 6510 based turbo? Between 10 to 14 times faster for tight loops that only access memory (e.g. decrunchers) and between 4 and 6 times for I/O heavy apps. Basic programs run about 12 times faster on average. Isn't the 6510 a bit limiting with its 64 Kbyte memory range, making the Chameleon a bankswitching nightmare? Bankswitching is indeed supported (and sometimes necessary).
  • Page 51 Frequently asked questions How much power does the Chameleon use? Will I need a “heavy duty” power-supply? Although Chameleon emulates quite a few pieces of hardware that would require lots of power in their original form, it is a very power-saving device. A total of only 2.1W is consumed, which translates to a current of 420mA - and this figure even includes a PC keyboard that was used during measurement.
  • Page 52: Known Bugs And Limitations

    known Bugs and Limitations 8. known Bugs and Limitations 8.1. Turbo Chameleon FPGA Core REU has some issues (bugs). (this has improved a lot in beta7, but is still not perfect) • DMA transfers take 1 cycle more than they should •...
  • Page 53: Prg Launcher

    known Bugs and Limitations 8.2.2. PRG Launcher Generally all files with a load address >$03ff can be loaded and run. Files which load below • $0400 (often to overload pointers for auto-start) are unsupported for now. Programs will be started in a standard reset environment for maximum compatibility, unless •...
  • Page 54: Sid Player

    known Bugs and Limitations 8.2.6. SID Player PSID Tunes which require Compute's Sidplayer (MUS) are not supported yet. this might get • fixed depending on demand, possibly a separate external .mus plugin would be a better idea ? PSID Tunes which use playsid specific features (usually indicated by a _PSID appended to •...
  • Page 55: Chaco

    known Bugs and Limitations 8.3. ChaCo There seems to be a problem that when the Chameleon is connected via an USB hub slows down all kinds of transfers dramatically. In such a case please try connecting the Chameleon directly to your PC and see if the problem persists.
  • Page 56: Reporting Bugs

    Reporting Bugs 9. Reporting Bugs If you find any bugs, please report them either directly to Individual Computers, or to the Yahoo mailing list ( http://tech.groups.yahoo.com/group/chameleon_64/). Before doing so, please make sure you are running the latest version of the Turbo Chameleon FPGA Core, which can be downloaded at http://beta.icomp.de/.
  • Page 57: Upgrading The Core

    Reporting Bugs 9.1.4. upgrading the core Upgrade using ChaCo and/or chacocmd. (see chapter 6.5.2 Flashing a Core) • 9.1.5. File-browser Browsing through individual directories on either panel should work. see chapter 5.5.1 Keys • for a list of keys that you can try. 9.1.6.
  • Page 58: Developer Information

    ) for the most recent version of these documents: chameleon_progmanual.pdf – contains register description and programming • information for the turbo Chameleon 64 FPGA core. chameleon_coredef.pdf – hardware overview for FPGA core developers • chameleon_schematics.pdf – Chameleon board schematics for FPGA core •...
  • Page 59: Related Projects

    Related projects 11. Related projects On this page we will list all Chameleon related projects that we know of. Please notice that all of these are created and maintained by other Chameleon users, which means that we do (and can) not provide any support for them.
  • Page 60: Appendix

    Appendix 12. Appendix 12.1. PS/2 Keyboard Key Assignment PS/2 Key (US) PS/2 Key (DE) C64 Function CBM Key ESCAPE ESCAPE RUN/STOP RShift + F2 RShift + F4 RShift + F5 RShift + F7 £ (Pound) Left cartridge button Middle (Freeze) cartridge button Print Screen Print Screen Right (Reset) cartridge button...
  • Page 61: Ps/2 Keyboard Joystick Assignment

    Appendix 12.2. PS/2 Keyboard Joystick Assignment PS/2 Key C64 Function NUM-LOCK Select port 1 or port 2 Numeric 0 Joystick Fire Button Numeric 1 Joystick Left + Down Numeric 2 Joystick Down Numeric 3 Joystick Right + Down Numeric 4 Joystick Left Numeric 6 Joystick Right...
  • Page 62: Cdtv Remote Control Key Assignment

    Appendix 12.3. CDTV Remote Control Key Assignment Infrared CDTV Remote Key C64 Function RShift + F1 RShift + F3 RShift + F5 RShift + F7 RUN/STOP Space bar ESCAPE Left Arrow ENTER RETURN CRSR Left (RShift + CRSR Right) PLAY/PAUSE CRSR Up (RShift + CRSR Down) CRSR Right STOP...
  • Page 63: Supported Cartridge Types

    Appendix 12.4. supported Cartridge types CRT ID generic (8k Game, 16k Game, Ultimax) Action Replay v5 (v4.2 and higher ROMs) KCS Power Cartridge Final Cartridge 3 Simons Basic Ocean (*1) Expert Cartridge Funplay / Powerplay (*1) Supergames Epyx Fastload Westermann C64 Game System (System 3) (*1) Warpspeed Dinamic (*1)
  • Page 64: Opening The Cartridge

    Appendix 12.5. Opening the Cartridge To install the RTC battery (CR-1220) or a RR-NET, you will have to open the Cartridge - it may look difficult, but if you know where to lever it open, it's really easy. All you need is a flat screwdriver.
  • Page 65 Appendix Remove the bottom by tilting it away; the left side (weakest side of the top) will now come off fairly easy, almost no force is required. Remove the foam from the case and keep it in a safe place. The foam on your cartridge may look different.
  • Page 66: Re-Programming The Usb Micro-Controller

    In the unlikely event that you will have to update the micro-controller, you will receive an appropriate .hex file and detailed instructions directly from individual computers. The micro-controller is a core component which is not meant to be user programmable, thus refrain from experimenting with it.
  • Page 67 Appendix Now make two USB connections to your PC and switch on the PC. The USB connection of the breakout cable provides power to Chameleon, and the mini USB connection is your data connection: Now place the micro-controller into de-brick mode with the following combination of button presses.
  • Page 68 Appendix The micro-controller is now in de-brick mode and the FLIP tool will now find it. First, select the processor type AT90USB162, then select Settings->Communication->USB: Now load the micro-controller hex file by clicking on file->Load hex file. The final step is to click on the “Run”...
  • Page 69: Linux

    Appendix 12.6.1. Linux In Linux "dfu-programmer" (http://dfu-programmer.sourceforge.net/) may be used: $ sudo chacocmd --bootloader $ sudo dfu-programmer at90usb162 erase $ sudo dfu-programmer at90usb162 flash chameleon_microcontroller.hex $ sudo dfu-programmer at90usb162 start...
  • Page 70: Configuring Quartus For Jtag

    Appendix 12.7. configuring Quartus for JTAG Drivers are needed for the USB Blaster - they can be found in the Quartus II installation directory (quartus/drivers/usb-blaster). Click Hardware settings and select USB Blaster from the drop-down box. The project's default settings won't work, because there's another device on the JTAG chain (the flash chip), so to solve that: Click the "Autodetect"...
  • Page 71 Appendix Now either click on the picture of the EP3C25 and click the Change File button, or double-click the "<none>" in the File column of the EP3C25's line in the top panel. Pick the .sof file in the file dialog. Check the "Program/Configure"...
  • Page 72 Appendix Finally, click Start, and the project should be uploaded to the FPGA. There's one more complication to take care of: When closing the programming window, Quartus will offer to save changes to the device chain, so you don't have to repeat this procedure each time you program the device.
  • Page 73 Appendix In the dialog that appears, the Unknown device should already be selected, so just click "Edit", and change the name to something else.
  • Page 74 Appendix Quartus should now be able to save the device chain for future use.
  • Page 75: Chameleon Cable Pinouts

    Appendix 12.8. Chameleon cable pinouts CN1: Mini DIN 9 connector pinout: shield: GND 1: IEC_CLK 2: KDat 3: MDat 4: KClk 5: MClk 6: Vcc 7: IEC_SRQ 8: IEC_DAT 9: IEC_ATN Mating connector for RM158-DN508H-9. Pin numbering is taken from drawing. CN2 and CN3 are coloured female Mini-DIN6 connectors: purple CN2: green CN3: shield: GND shield: GND...
  • Page 76: Wiring Diagram

    Appendix Wiring diagram Connection CN1 to CN2 is a 4-core shielded AWG26 cable, length 200mm: shield - shield and pin 3 pin 2 - pin 1 pin 4 - pin 5 pin 6 - pin 4 Connection CN1 to CN3 is a 4-core shielded AWG26 cable, length 200mm: shield - shield and pin 3 pin 3...
  • Page 77: Technical Data

    Appendix 12.9. Technical Data Altera EP3C25 FPGA with 24624 LEs • 16Mb Flash Memory, 32Mb RAM • VGA connector • MMC/SD card slot • Connectors for PS/2 mouse, PS/2 keyboard and IEC bus via breakout cable • Battery-backed real time clock (CR-1220 battery not included) •...
  • Page 78: Credits

    • Andreas Muttke - logo design • Christian Vogelgsang – provided the chacocmd Mac OSX port • Alastair M. Robinson – contributed chapter 12.7 configuring Quartus for JTAG • © 2011-2012 by Individual Computers Jens Schönfeld GmbH all rights reserved.
  • Page 79: Fine Print

    Names and other trademarks referred to within this manual are the property of their respective trademark holders. None of these trademark holders are affiliated with Individual Computers. Windows® is a registered trademark of Microsoft Corporation in the United States and/or other countries.

Table of Contents