The VIC-20 (Germany: VC-20; Japan: VIC-1001) is an 8-bit home computer which was sold by Commodore Business Machines.
The VIC-20 had proprietary connectors for program/expansion cartridges and a tape drive (PET-standard Datassette). It came with 5 kB RAM, but 1.5& kB was used by the system for various things, like the video display (which had a rather unusual 22×23 char/line screen layout), and other dynamic aspects of the ROM-resident BASIC interpreter and KERNAL (a low-level operating system). Thus, 3583 bytes of BASIC program memory for code and variables was available to the user of an unexpanded machine.
The computer also had a serial bus (a serial version of the PET's IEEE-488 bus) for daisy chaining disk drives and printers; a TTL-level "user port" with both RS-232 and Centronics signals (most frequently used as RS-232, for connecting a modem); and a single DE-9 game controller port, compatible with the digital joysticks and paddles used with Atari 2600 videogame consoles and, later, the C64 (the use of a standard port ensured ample supply of Atari-manufactured and other third-party joysticks; Commodore itself offered an Atari-protocol joystick under the Commodore brand).
Importantly, like most video game consoles and many computers at the time the VIC had a cartridge port to allow for plug-in cartridges with games and other software as well as for adding memory to the machine. Port expander boxes were available from Commodore and other vendors to allow more than one cartridge to be attached at a time. Cartridge software ranged from 4-16k in size, although the latter was uncommon due to its cost and only larger software houses produced 16k cartridges.
The graphics capabilities of the VIC chip (6560/6561) were limited but flexible. At startup the screen showed 176 x 184 pixels, with a fixed-colour border to the edges of the screen; since an NTSC or PAL screen has a 4:3 width-to-height ratio, each VIC pixel was much wider than it was high. The screen normally showed 22 columns and 23 rows of 8-by-8-pixel characters; it was possible to increase these dimensions but the characters would soon run out the sides of the monitor. Like on the PET, 256 different characters could be displayed at a time, normally taken from one of the two character generators in ROM (one for upper-case letters and simple graphics, the other for mixed-case—non-English characters were not provided). Normally, the VIC-20 was operated in high-resolution mode whereby each character was 8x8 pixels in size and used one color. A lower-resolution multicolor mode could also be used with 4x8 characters and three colors each, but it was not used as often due to its extreme blockiness.
Source: Wikipedia, "Commodore VIC-20", available under the CC-BY-SA License.