Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Commodore VIC-20 - Wikipedia, the free encyclopedia

Commodore VIC-20

From Wikipedia, the free encyclopedia

Commodore VIC-20
Type Home computer
Released 1980 (VIC-1001) / 1981
Discontinued 1985
Processor MOS Technology 6502
@ 1MHz
Memory 5 KiB - 64 KiB
OS Commodore BASIC 2.0

The VIC-20 (Germany: VC-20; Japan: VIC-1001) is an 8-bit home computer. It was made by Commodore Business Machines, with 5 KiB RAM and a MOS 6502 CPU. The machine's external design was later used by the Commodore 64 and C16. The VIC-20 was released in Japan in 1980, and in the U.S. and Europe in 1981, roughly three years after Commodore's first personal computer, the PET. The VIC-20 was the first microcomputer to sell one million units.

Contents

[edit] History

[edit] Origin, marketing

The VIC-20 was intended to be more economical than the PET computer. The VIC-20's video chip, the MOS Technology VIC, was a general-purpose color video chip designed by Al Charpentier in 1977 and intended for use in inexpensive display terminals and game consoles, but Commodore couldn't find a market for the chip. As the Apple II gained momentum with the advent of VisiCalc in 1979, Jack Tramiel wanted a product that would compete in the same segment, to be presented at the January 1980 CES. For this reason Chuck Peddle and Bill Seiler started to design a computer named TOI (The Other Intellect).

The TOI computer failed to materialize, much due to the fact that it required an 80-column character display which in turn required the MOS Technology 6564 chip, which could not be used since it required very expensive static RAM to operate fast enough. In the meantime, freshman engineer Robert Yannes at MOS Technology (then a part of Commodore) had designed a computer in his home dubbed the MicroPET and finished a prototype with some help from Al Charpentier and Charles Winterble. When Jack Tramiel was confronted with this prototype he immediately said he wanted it to be finished and ordered it to be mass produced following a limited demonstration on the CES, since the TOI had not yet been finished.

The very hackish prototype produced by Yannes had very few of the features required for a real computer, so Robert Russell at Commodore headquarters had to coordinate and finish large parts of the design under the codename Vixen. The parts contributed by Russell included a port of the operating system (kernel and BASIC interpreter) taken from John Feagans design for the Commodore PET, a character set with the characteristic PETSCII, an Atari 2600-compatible joystick interface and the cartridge port. The serial IEEE 488-derivative interface was designed by Glen Stark. Some features, like the memory add-in board, were designed by Bill Seiler. At the time, Commodore had an oversupply of 1 Kibit×4 SRAM chips, so Tramiel demanded that these be used in the new computer. The end result is arguably closer to the PET or TOI computers than to Yannes prototype, albeit with a 22-column VIC chip instead of the custom chips designed for the more ambitious computers.

In April 1980 at a meeting of general managers outside of London, Jack Tramiel declared that he wanted a lowcost color computer. When most of the GMs argued against it, he said, "the Japanese are coming, so we will become the Japanese." This was in keeping with Tramiel's philosophy which was to make "computers for the masses, not the classes." The concept was championed at the meeting by Michael Tomczyk, newly hired marketing strategist and assistant to the president; Tony Tokai, General Manager of Commodore-Japan, and Kit Spencer, the U.K.'s top marketing executive.

When they returned to California from that meeting, Tomczyk wrote a 30 page memo detailing recommendations for the new computer and presented it to Tramiel. Recommendations included programmable function keys, full size typewriter style keys, built-in RS-232. Tomczyk insisted on "user friendliness" as the prime directive for the new computer and proposed a retail price of $299.95. He recruited a marketing team and a small group of computer enthusiasts, and worked closely with colleagues in the U.K. and Japan to create colorful packaging, user manuals, and the first wave of software programs (mostly games and home applications). Scott Adams was contracted to provide a series of cartridge-based adventure games. Tomczyk's account of the story is told in his 1984 book, The Home Computer Wars.

While the PET was sold through authorized dealers, the VIC-20 primarily sold at retail, especially discount and toy stores, where it could compete more directly with game consoles. It was the first computer to be sold in K-Mart. Commodore took out advertisements featuring actor William Shatner of Star Trek fame as its spokesman, asking, "Why buy just a video game?". Television personality Henry Morgan (best known as a panelist on the TV show What's My Line?) became the ironic voice on a series of clever Commodore product ads.

The VIC-20 had 5K of Ram, which netted down to 3.5K on startup, which is the equivalent to the words and spaces on one sheet of typing paper. The computer was expandable to 32k with an add-on memory cartridge. Although the VIC-20 was criticized in print as being underpowered, the strategy worked: in 1982 it was the best-selling computer of the year, with 800,000 machines sold, and in January 1983 it passed the 1 million unit mark—a first in computer history. At its peak, 9,000 units per day were produced, and a total of 2.5 million units were sold before it was discontinued in January 1985, when Commodore repositioned the C64 as its entry-level computer due to the forthcoming release of the C128 and Amiga (the latter taking Commodore into the 16-bit world).

In 1981, Tomczyk contracted with an outside engineering group to develop a direct-connect modem-on-a-cartridge (the VICModem) which at $99 became the first modem priced under $100. The VICModem was also the first modem to sell over 1 million units. VICModem was packaged with $197.50 worth of free telecomputing services from the Source, CompuServe and Dow Jones. Tomczyk also created an entity called the Commodore Information Network to enable users to exchange information and take some of the pressure from Customer Support inquires, which were straining Commodore's lean organization. In 1982, this network accounted for the largest traffic on CompuServe, which, it can be argued, was an early implementation of Internet-style user groups.

[edit] Applications

Software cartridge
Software cartridge

Because of its small memory and low-resolution display compared to some other computers of the time, the VIC-20 was primarily used for educational software and games. However, productivity applications such as home finance programs, spreadsheets, and communication terminal programs were also made for the machine. Its high accessibility to the general public meant that quite a few software developers-to-be cut their teeth on the VIC-20, being introduced to BASIC programming, and in some cases going further to learn assembly or machine language. Several computer magazines sold on newsstands, such as Compute! and CBM-produced publications, offered programming tips and type-in programs for the VIC-20. Many VIC users learned to program by entering, studying, running, and modifying these type-ins.

The ease of programming the VIC and availability of an inexpensive modem combined to give the VIC a sizable library of public domain and freeware software, although much smaller than that of the C64. This software was distributed on online services such as CompuServe, BBSs, and via user groups.

As for commercial software offerings, an estimated 300 titles were available on cartridge, and another 500+ titles were available on tape. By comparison, the Atari 2600, the most popular of the video game consoles at the time, had a library of about 900 titles near the end of its production life (many were variations of another title). Cartridge games were ready to play as soon as VIC-20 was turned on, as opposed to games on tape which required loading. Titles on cartridge included Gorf, Cosmic Cruncher, Sargon II Chess, and many others.

One of the most popular cassette games was Blitz, written by Simon Taylor and published by Commodore, selling many tens of thousands of copies, and remaining in the top ten computer games listings for six months. The game involved flying over a city of skyscrapers, and flattening the buildings one by one by bombing them until the city was flat. The aircraft descended a line at a time, and if your bombing had not been accurate enough, you would hit the skyscraper and crash.

[edit] Description

[edit] Basic features

The VIC-20 BASIC startup screen.
The VIC-20 BASIC startup screen.

The VIC-20 had proprietary connectors for program/expansion cartridges and a tape drive (PET-standard Datassette). It came with 5 KiB RAM, but 1.5 KiB were 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, 3.5 KiB 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 RS-232 and Centronics signals (most frequently used as RS-232, for connecting a modem[1]); and a single DE-9 game controller port, compatible with the digital joysticks and paddle (game controller)s 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 joystick under the Commodore brand).

Importantly, like most video game consoles 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 connected at a time.

The graphics capabilities of the VIC chip (6560/6561) were limited but flexible. At startup the screen showed 176 pixels in width and 184 in height, with a fixed-colour border to the edges of the screen; since a 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). In the usual display mode, each character position could have its foreground colour chosen individually, and the background and screen border colours were set globally. A character could be made to appear in another mode where each pixel was chosen from 4 different colours: the character's foreground colour, the screen background, the screen border and an "auxiliary" colour; but this mode was rarely used since it made the pixels twice as wide as they normally were.

The VIC chip did not provide for a direct full-screen, high-resolution graphics mode. It did, however, allow the pixel-by-pixel depictions of the on-screen characters to be redefined (by using a character generator in RAM), and it allowed for double-height characters (8 pixels wide, 16 pixels high). It was possible to get a fully-addressable screen, slightly smaller (160 by 160) than normal, by filling the screen with a sequence of 200 different double-height characters, then turning on the pixels selectively inside the RAM-based character definitions. (The 200-character limitation was so that enough bytes would be left over for the screen character grid itself to remain addressable by the VIC chip.) The Super Expander cartridge provided such a mode in BASIC, although it often had to move the BASIC program around in memory to do it. It was also possible to fill a larger area of the screen with addressable graphics using a more dynamic allocation scheme, if the contents were sparse or repetitive enough. This was used, for instance, by the game Omega Race. The VIC chip did not support sprites.

The VIC chip had readable scan-line counters but could not generate interrupts based on the scan position (as the VIC-II chip could). Thus it was possible, but difficult, to switch graphics modes dynamically during a single screen scan. The VIC chip could also process a light pen signal (an light pen input was provided on the DE-9 joystick connector) but few of those ever appeared on the market.

The VIC chip had three rectangular-wave sound generators (about an octave apart) plus a white noise generator. There was only one volume control.

[edit] Memory expansion

The VIC-20's RAM was expandable with plug-in cartridges using the same expansion port as programs. RAM cartridges were available in several sizes: 3K (with or without an included BASIC extension ROM), 8K, 16K, 32K and 64K, the latter two only from third-party vendors. The internal memory map was reorganised with the addition of each size cartridge, leading to the situation that some programs would only work if the right amount of memory was present (to cater for this, the 32K cartridges had switches, and the 64K cartridges had software setups, allowing the RAM to be enabled in user-selected sections).

The most visible part of memory that was reorganised with differing expansion memory configurations was the video memory (with text and/or graphics display data). This was because the free memory had to remain contiguous for the BASIC interpreter to be able to use it. An unexpanded VIC had 1K of system memory, followed by a 3K "hole", then 4K of contiguous user memory up to address 8191. The 3K cartridge would fill the "hole", so on unexpanded and +3K VICs the video area was placed at the top of user memory (8K - 512). If an 8K or 16K cartridge was added instead, this memory appeared at addresses above 8K; the video memory was then placed at the start of user memory at 4K, just above the "hole", to provide the maximum amount of contiguous user memory.

Some 64K expansion cartridges allowed the user to copy ROM images to RAM. The more advanced versions even contained an 80-character video chip and a patched BASIC interpreter which gave access to 48K of the memory and to the 80-column video mode. As the latter type of cartridges, marketed primarily in Germany, weren't released until late 1984—two years after the appearance of the more capable C64—they went by mostly unnoticed.

[edit] The VIC's name(s)

  • The name "VIC" came from the Video Interface Chip, which, despite its designation, also handled all the sound synthesis in the VIC-20. The VIC chip's successor, the graphics-and-RAM-refresh VIC-II, was used to great success in Commodore's later best-selling machine, the C64, and also in the dual video output C128 for that computer's 40-column/composite video graphics.
  • The VIC-20 was originally meant to be called Vixen, but this name was inappropriate in Germany, Commodore's second most important market, because it sounds like wichsen, a German language slang word for "masturbate". VIC, which was subsequently chosen, has a similar problem—it can be pronounced like fick[en], the German word for "fuck". Therefore the VIC-20 was finally marketed as the VC-20 "Volkscomputer" in German-language countries.
  • In Japan the VIC-20 was marketed as the VC-1001 (1980).
  • The 20 in VIC-20 has nothing to do with technical specs, Michael Tomczyk thought that VIC sounded like a truck drivers name so he insisted on adding 20 as a friendly number for a friendly computer. According to reports, the original name was going to be VIC-22 (based on the screen width) but 20 was chosen as a friendlier name. (citation needed).

[edit] VIC trivia

  • BASIC programs running on a fully expanded VIC-20 could use at most 24K RAM. Any extra occupied the memory space used by ROM cartridges, i.e. commercial software like games and other applications. This allowed people to copy cartridges to tape and distribute them to their friends, who could then load the tape into the top 8K of their 32K RAM packs.
  • An anecdotal bit of evidence to support Commodore's statement that the VIC-20 could be used not only for games but also as a serious introduction to computing, can be said to originate in the fact that a young Linus Torvalds was given a VIC-20 as his first computer. Torvalds later upgraded to a Sinclair QL, then to a 386 PC. Torvalds later went on to write the Linux operating system kernel.

[edit] Notes

Both the VIC 20 and C64 could be hooked into external electronic circuitry, using parts available from parts outlets like Radio Shack and Maplin. Interfaces were designed to use either the joystick ports, printer port, or the expansion ports, which exposed various analog to digital, memory bus, and other internal I/O circuits to the experimenter. The BASIC language could then be used (using the PEEK and POKE commands) to perform data acquisition from temperature sensors, control robotic stepper motors, etc. The VIC 20 did not originally have a disk drive available for sale, with only a relatively high cost tape recorder system (using audio cassette tapes). Many experimenters built adaptors that allowed any conventional audio cassette recorder to be used for program and data storage.

  1. ^ The Commodore VICModem and later models connected directly to the user port's edge connector. But in order to connect the VIC to industry-standard modems and other RS-232 devices, the user needed to purchase a separate TTL-to-RS232 voltage converter box (standard TTL voltages lie between 0 and 5 V, while RS-232 uses ±12 V).

[edit] References

  • Bagnall, Brian: On The Edge: The Spectacular Rise and Fall of Commodore, ISBN 0-9738649-0-7.
  • Finkel, A.; Harris, N.; Higginbottom, P.; Tomczyk, M. (1982). VIC 20 Programmer's reference guide. Commodore Business Machines, Inc. and Howard W. Sams & Co, Inc. ISBN 0-672-21948-4.
  • Jones, A. J.; Coley, E. A.; Cole, D. G. J. (1983). Mastering the VIC-20. Chichester, UK: Ellis Horwood Ltd. and John Wiley & Sons, Inc. ISBN 0-471-88892-3.
  • Tomczyk, Michael (1984). The Home Computer Wars: An Insider's Account of Commodore and Jack Tramiel. COMPUTE! Publications, Inc. ISBN 0-942386-75-2.

[edit] External links

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu