|
IntellivisionMASTER COMPONENT #2609
GI was enthusiastic about working with Mattel and helped make design changes. (The most important of these was adding a way for programmers to define new graphics for each game; the original design only allowed for a ROM library of graphics that would be used for every game. Design & Development artist Dave James insisted this would be a debilitating limitation.) The Mattel executives, however, were reluctant to compete with Atari in the videogame market; they put the videogame project on hold. Instead, Richard Chang's group started producing handheld electronic games, many programmed by APh. These games, marketed under the name Mattel Electronics, were very successful. In the Mattel boardroom, executive Jeff Rochlis started pushing the idea again of a videogame system. He finally sold upper management on it; in 1979, the Intellivision project started moving forward again. The actual engineering of the hardware (including design of the infamous hand controllers) was done by a team at Mattel headed by Dave Chandler, earning him the nickname "Papa Intellivision." The internal software (the "Executive") was programmed at APh. (Midway through development, Texas Instruments approached Mattel and pushed hard to get TI chips used in the Intellivision instead of GI chips. Although they offered a great deal price-wise that was seriously considered, Mattel stuck with GI since it would have caused a six to nine month delay. A good thing, says Glenn Hightower, who fought against the TI chip set as being "inferior.") The Intellivision was test marketed in 1979 in Fresno, California, along with four cartridges: Poker & Blackjack, Math Fun, Armor Battle, and Backgammon. The test was a success, and in 1980 the Intellivision went into wide release. 175,000 were sold in 1980, 500,000 in 1981 and another 500,000 in 1982. Counting the Intellivision II and the Sears, Radio Shack and INTV clones, approximately 3 million master components were ultimately sold. The Intellivision originally retailed for $299. Within a year the price had dropped to $249, and in 1982 a $50 rebate brought the actual price under $200. The cheaper-to-produce Intellivision II (which did not come with a game cartridge as the original Intellivision had), was introduced at around $150, but by late 1983 retailed for $69.95. That became the final Intellivision price point. Master Components sold by Mattel Electronics' successor, INTV Corp., from 1985 through 1990 were sold for $69.95 each. Most Mattel Electronics cartridges were introduced at $39.95, then dropped in price as new titles were released. Intellivoice games originally sold for $43.95 each. Chess, which included RAM in the cartridge, was the most expensive Intellivision cartridge ever at $55.95.
Mattel decided not to pay; after careful analysis, the legal department concluded that the patent would never stand up in court. Wellllll.....it did. Magnavox sued, won, and Mattel coughed up a few million dollars.
This document covers the main components of the Intellivision (product number 2609) that are of interest to the programmer. These are:
In addition, the Intellivision includes components not directly accessed by the game program. The principal functions of these components are to (1) generate the 3.579545 MHz system clock, (2) convert the digital sound and video signals to an RF output and (3) supply power for the system. These are not discussed further here. The information here also applies to the Radio Shack Tandyvision One, the Sears Super Video Arcade, and the INTV Master Component (also called INTV System III and the INTV Super Pro System), which are all simply clones of the Intellivision Master Component with minor cosmetic differences. CPU Since most 1610 instructions are 10-bits wide, game programs are stored in 10-bit wide ROMs. This 10-bit "byte" is referred to as a decle (rhymes with "heckle"). Some instructions require 16 bits; these are stored in two successive 10-bit locations, referred to as a bidecle. (For prototyping, dual 8-bit EPROMs are used, with the low 8 bits of each decle stored in one EPROM and the top 2 bits stored in the other.) STIC The STIC will display a background field of 240 "cards" (20 wide and 12 high; each card is 8 by 8 pixels), giving a resolution of 160 pixels wide and 96 pixels high (each pixel is 2 TV lines high and is in the proportion of 5 wide by 4 high). NOTE: The STIC does NOT display the far right column of pixels, giving an actual displayed resolution of 159 by 96 pixels. Each pixel can be in any of 16 colors (eight "primaries" and eight "pastels."). In addition, the STIC controls 8 "moving objects", each of which can be 8 wide by 8 high or, at double resolution, 8 wide by 16 half-pixels high (each moving object can also be double-sized in width and/or height). The beauty of this system is that once the CPU has defined a background and a moving object shape, it can change the location of an object merely by writing a different address to the STIC. NOTE: The moving objects can be located on a grid space wider and taller than the displayed background, allowing them to smoothly slide on or off the screen at the edges. [Blue Sky Rangers comment: Two methods were developed to get around the limit of only eight moving objects: (1) multiplexing is redefining and repositioning one object from frame to frame to give the illusion of two separate objects; (2) sequencing GRAM is writing directly to the Graphics RAM locations, normally only accessed by the EXEC, to animate background cards. Because it causes objects to flicker, marketing forbid the use of multiplexing (common in Atari 2600 and Colecovision games). Sequencing GRAM, however, was used often, including in Space Armada, Star Strike and TRON Solar Sailer to create screens full of movement.] The STIC will take care of changing the location of an object, background, overlaps, etc. The STIC will also keep track of moving object interactions with other moving objects or with the background field, and will signal the CPU when crashes occur. As an example, the CPU can define a playing field and a ball moving on it. Then the CPU can move the ball around the field merely by writing a new X,Y location to the STIC. The STIC will make sure that the background properly reappears after an object moves away, and (if requested) will signal the CPU when the ball moves off the edge of the playing field or intersects another moving object such as an opposing player. The STIC also can cause the entire background to move smoothly, one pixel at a time, either in the X-direction or the Y-direction. Moving objects move with the background. (Special subroutines are available to the programmer to use this feature to create continuous scrolling backgrounds.) Obviously, the STIC takes a lot of work off the CPU, and it makes it possible for Intellivision to have higher quality graphics than any other video game or home computer system. However, the STIC has limitations which the programmer has to work within, particularly in defining colors: Moving objects can have only ONE color each; a multicolor character must therefore be made up of more than one of the only eight moving objects. Each 8 by 8 background card can have only TWO colors on it. There are two methods for defining these colors: (1) Foreground/Background mode allows the colors for each card to be defined individually, but one of the two colors on each card is limited to the eight primary colors. Two pastel colors cannot appear on the same card. (2) Color Stack mode restricts one of the two colors on each card to either the current or next color from a programmer-defined four-color circular stack. However, since all 16 colors are available for the color stack, two pastel colors CAN appear on the same card. Modes cannot be mixed on one screen. In general, a complex screen design is easier to create in Foreground/Background mode, but a simpler (or very clever) design using Color Stack can be more colorful. (NOTE: There is a third mode, Colored Squares mode, that allows four primary colors to be defined per card, but it is literally limited to colored squares -- four equal-sized blocks per card. Therefore, the entire background must be made up of 4-pixel by 4-pixel solid-color squares. [This mode was only used three times, for Snafu and the unreleased games Empire and Brickout!]) SYSTEM RAM SOUND CHIP GROM AND GRAM GRAM has space for 64 program-defined 8 by 8 bit images. Both background and moving object images are stored here; since there can be up to 8 double-resolution moving objects defined in GRAM, there are always at least 64-(8*2)=48 background locations which the program can define. GROM contains 213 predefined 8 by 8 bit image locations (TRIVIA: it was intended to contain 256 images, but space was stolen for an overflow of system software from the EXEC ROM) which include numbers, upper and lower case alphabetic characters, punctuation, and graphics characters (triangles, lines and whatnot). For example, GROM location #37 contains the character E stored as: 01111110 The 240 BACKTAB locations each points to a location in GRAM or GROM. For example, if BACKTAB location #1 points to GROM location #37, an E will appear in the upper left corner of the screen. BACKTAB contains other information on the display, such as foreground and background color, and whether the character is in GROM or GRAM. Therefore, one GROM or GRAM image can be used to produce different colored images on different parts of the same screen (e.g. you can have a white E on a black background on one part of the screen and a red E on a blue background on a different part of the screen; both use the same bit images pattern stored in GROM location #37). GROM is a GI RO-3-9503 2K ROM. GRAM is made up of two GTE 3539 256-byte static RAM chips. THE EXEC
When the Intellivision II was being designed, consideration was given to fixing the square root routine bug. But the fear was that games developed and tested principally on an Intellivision II would then be more likely to crash on an original Intellivision. The bug was left as is.
SCRATCHPAD RAM HAND CONTROLLERS 1. The top action keys are wired together, so there are really only three separate action buttons: left bottom, right bottom and the left/right top button. 2. The 12-number keypad duplicates the disc controller and the action keys, so you can either use the disc controller and the action buttons -- OR -- the keypad, but not both at the same time. Each hand controller is hooked to an 8-bit input port. (These are physically the input ports of the sound chip, but that's not relevant to the programmer.) The disc controller outputs a 5-bit code; the action buttons output a 3-bit code. The 12-number keypad outputs an 8-bit code. The EXEC contains routines which debounce key inputs and convert 5-bit disc hardware codes to numbers, 0 through 15, which indicate directions. A game program can access the input ports directly, but the EXEC routines are usually used, instead.
comments@intellivisionlives.com |