Super Expander

Last updated
A VIC-1211 Super Expander cartridge 4849 - VIC-1211A Super Expander w 3k RAM.JPG
A VIC-1211 Super Expander cartridge

The VIC-1211 Super Expander is a cartridge for the VIC-20 home computer. It was designed to provide several extensions to the BASIC interpreter on the computer, mostly to help with programming graphics and sound. It also provided 3 kB of extra RAM (of which 136 bytes were used by the cartridge itself). The cartridge was created by Commodore Business Machines (CBM) and released in 1981.

Contents

Description

The dialect of BASIC bundled with the VIC-20, Commodore BASIC V2.0, was notorious for its sparse functionality. It didn't even match the features of Commodore's older line of computers, the PET which, at that time, already featured Commodore BASIC version 4.0. As a result, it was outdated by the VIC-20's release and seemed quite primitive compared to BASIC dialects available on other microcomputers. To be fair, the decision by Commodore to recycle the old BASIC, and the fact that it could fit in just 16 kB ROM (including the KERNAL), helped keep the VIC-20's price to a minimum and so contributed to its huge success. Plus it was stable and almost entirely bug-free, which could not be said of some competing BASICs.

Nevertheless, not only did "VIC BASIC" lack commands considered fundamental to the BASIC language, such as "else" and "renum", but graphics and sound effects were completely unsupported. To use VIC-20's graphics and sound programmers had to "PEEK and POKE" bytes directly from/to the VIC-20's graphics/sound hardware, the 6560 Video Interface Chip (VIC). This made programming quite tedious and error prone since cryptic memory addresses and codes had to be used constantly, mistakes in these would usually crash the computer instead of giving an error message, and many statements were required to do even simple tasks. Such a thing was death in the tiny RAM and slow interpreted BASIC paradigm of the day.

Programmers could mitigate these problems by using machine code, to an extent, but this in itself was a tedious process with a rather steep learning curve. So to address these shortcomings Commodore created the Super Expander cartridge. It provided extra BASIC commands to facilitate using graphics and sound on the VIC-20. It also had commands to read the joystick and lightpen, and unlocked the use of function keys.

Graphics

The VIC-20 did not support high resolution graphics directly. Hi-res graphics were implemented by "painting" the display with characters, and "redefining" the character bitmaps on the fly. This was a complex and long-winded process; implementing it in a BASIC program was virtually useless due to the execution time required to draw anything.

The Super Expander took care of all the hard work. It allowed the programmer to draw points, lines, ellipses and arcs, and to paint enclosed regions, with one-line statements. All the VIC-20's 16 colours could be used, although with restrictions due to limitations of the 6560 chip. Display resolution was 160×160 pixels, throttled down from 192×200 allowed by the 6560 chip, in order to permit per-pixel addressability. Multicolor hi-res was supported (with a resolution of 80×160) and could be mixed with normal hi-res.

Sound

The VIC-20's sound capability was fairly simplistic, so programming sound effects using "PEEK and POKE" was not so much of a chore as programming graphics. Even so, the Super Expander provided a command to play simple tones on the VIC-20's four voice channels, and to control the volume.

Music playback was unsupported on the VIC-20; the usual way of implementing a musical note was to play a tone inside a for loop time delay. In contrast, with Super Expander musical scores could be played by simply PRINTing a string of characters. (Music strings were distinguished from regular strings using a special reverse-control-character, familiar to anyone who has used colours or cursor controls in VIC-20 programs.) Each of the VIC-20's four voice channels could play their own scores simultaneously, giving harmonious effects which could be striking by the standards of the time.

Other devices

Super Expander provided commands to read the status of the joystick and paddles, and the position of the lightpen. In the case of the joystick, since it was the "digital" or "switch" type, further bit-fiddling was required to decode its position.

Function keys

Ordinarily the VIC-20's function keys could only be used in a program, by scanning for the appropriate key code when reading the keyboard. In the VIC-20's direct mode they were not available to do anything. With the Super Expander the function keys could be assigned to execute commands in immediate mode. By default they came pre-programmed with the most common BASIC commands, in a similar fashion to GW-BASIC on the IBM PC. The user could then assign their own commands, or any arbitrary string in fact, to the function keys.

Drawbacks

The following are the main limitations of the Super Expander's appeal and usefulness.

In spite of the above, the Super Expander's features filled many of the gaps in the VIC-20's programming environment. Additionally, similar microcomputers on the market suffered the same, or equivalent, shortcomings.

See also

Related Research Articles

<span class="mw-page-title-main">Commodore 64</span> 8-bit home computer introduced in 1982

The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International. It has been listed in the Guinness World Records as the highest-selling single computer model of all time, with independent estimates placing the number sold between 12.5 and 17 million units. Volume production started in early 1982, marketing in August for US$595. Preceded by the VIC-20 and Commodore PET, the C64 took its name from its 64 kilobytes(65,536 bytes) of RAM. With support for multicolor sprites and a custom chip for waveform generation, the C64 could create superior visuals and audio compared to systems without such custom hardware.

<span class="mw-page-title-main">Atari 8-bit family</span> Home computer series introduced in 1979

The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL, Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE, and Atari XEGS, the last discontinued in 1992. They differ primarily in packaging, each based on the MOS Technology 6502 CPU at 1.79 MHz and the same custom coprocessor chips. As the first home computer architecture with coprocessors, it has graphics and sound more advanced than most contemporary machines. Video games were a major draw, and first-person space combat simulator Star Raiders is considered the platform's killer app. The plug-and-play peripherals use the Atari SIO serial bus, with one developer eventually also co-patenting USB.

<span class="mw-page-title-main">Commodore 128</span> Home computer

The Commodore 128, also known as the C128, C-128, C= 128, is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the CES in Las Vegas, it appeared three years after its predecessor, the bestselling computer in the 80s Commodore 64.

<span class="mw-page-title-main">VIC-20</span> 1981 home computer

The VIC-20 is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PET. The VIC-20 was the first computer of any description to sell one million units. It was described as "one of the first anti-spectatorial, non-esoteric computers by design...no longer relegated to hobbyist/enthusiasts or those with money, the computer Commodore developed was the computer of the future."

<span class="mw-page-title-main">Bally Astrocade</span>

The BallyAstrocade is a second-generation home video game console and simple computer system designed by a team at Midway, at that time the videogame division of Bally. It was originally announced as the "Bally Home Library Computer" in October 1977 and initially made available for mail order in December 1977. But due to production delays, the units were first released to stores in April 1978 and its branding changed to "Bally Professional Arcade". It was marketed only for a limited time before Bally decided to exit the market. The rights were later picked up by a third-party company, who re-released it and sold it until around 1984. The Astrocade is particularly notable for its very powerful graphics capabilities for the time of release, and for the difficulty in accessing those capabilities.

<span class="mw-page-title-main">TI-99/4A</span> Home computer by Texas Instruments

The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on the Texas Instruments TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. The associated video display controller provides color graphics and sprite support which were only comparable with those of the Atari 400 and 800 released a month after the TI-99/4.

<span class="mw-page-title-main">Commodore 16</span> Home computer

The Commodore 16 is a home computer made by Commodore International with a 6502-compatible 7501 or 8501 CPU, released in 1984 and intended to be an entry-level computer to replace the VIC-20. A cost-reduced version, the Commodore 116, was mostly sold in Europe.

<span class="mw-page-title-main">Commodore Plus/4</span> 1984 home computer by Commodore International

The Commodore Plus/4 is a home computer released by Commodore International in 1984. The "Plus/4" name refers to the four-application ROM resident office suite ; it was billed as "the productivity computer with software built-in."

<span class="mw-page-title-main">MOS Technology VIC</span>

The VIC , specifically known as the MOS Technology 6560 / 6561, is the integrated circuit chip responsible for generating video graphics and sound in the VIC-20 home computer from Commodore. It was originally designed for applications such as low cost CRT terminals, biomedical monitors, control system displays and arcade or home video game consoles.

Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.

<span class="mw-page-title-main">Commodore 64 demos</span>

The Commodore 64 (C64) demos are demonstrations of what can be done to push the limits of the Commodore 64 computer, made by programmers, musicians and artists.

<span class="mw-page-title-main">MOS Technology VIC-II</span> Video microchip in the Commodore 64 and C128 home computers

The VIC-II, specifically known as the MOS Technology 6567/6566/8562/8564, 6569/8565/8566 (PAL), is the microchip tasked with generating Y/C video signals and DRAM refresh signals in the Commodore 64 and C128 home computers.

<span class="mw-page-title-main">Enterprise (computer)</span> Zilog Z80-based home computer

The Enterprise is a Zilog Z80-based home computer announced in 1983, but through a series of delays, not commercially available until 1985. The specification as released was powerful and one of the higher end in its class. This was due to the use of ASICs for graphics and sound which took workload away from the CPU, an extensive implementation of ANSI BASIC and a bank switching system to allow for larger amounts of RAM than the Z80 natively supported. It also featured a distinctive and colourful case design, and promise of multiple expansion options. Ultimately it was not commercially successful, after multiple renames, delays and a changing market place. Its manufacturer calling in the receivers in 1986 with significant debt. It was developed by British company Intelligent Software and marketed by Enterprise Computers. Its two variants are the Enterprise 64, with 64 kilobytes of Random Access Memory (RAM), and the Enterprise 128, with 128 KB of RAM.

<span class="mw-page-title-main">MOS Technology 8563</span>

The 8563 Video Display Controller (VDC) was an integrated circuit produced by MOS Technology. It was used in the Commodore 128 (C128) computer to generate an 80-column RGB video display, running alongside a VIC-II which supported Commodore 64-compatible graphics. The DCR models of the C128 used the later and more technically advanced 8568 [D]VDC controller.

BASIC 8 – "The Enhanced Graphics System For The C128" – developed by Walrusoft of Gainesville, Florida and published in 1986 by Patech Software of Somerset, New Jersey, USA, was an extension of Commodore's BASIC 7.0 for the C128 home/personal computer. BASIC 8.0 provided commands lacking in BASIC 7.0 to generate (color) graphics in the C128's high-resolution 80-column mode for RGB monitors.

Graphics BASIC is a third-party extension to the Commodore BASIC V2.0 programming language of the Commodore 64 computer. It was originally written in 1983 by Ron Gilbert and Tom McFarlane. The program was licensed to Hesware, which briefly sold the program in 1984 as part of its product line before going out of business. The program was later extended by Ken Rose and Jack Thornton, and repackaged and sold in 1985 by Epyx under the title Programmers BASIC Toolkit.

<span class="mw-page-title-main">MOS Technology TED</span>

The 7360/8360 Text Editing Device (TED) was an integrated circuit made by MOS Technology, Inc. It was a video chip that also contained sound generation hardware, DRAM refresh circuitry, interval timers, and keyboard input handling. It was designed for the Commodore Plus/4 and 16. Packaging consisted of a JEDEC-standard 48-pin DIP.

<span class="mw-page-title-main">Commodore 64 peripherals</span>

This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 and PET too.

<span class="mw-page-title-main">Simons' BASIC</span>

Simons' BASIC is an extension to BASIC 2.0 for the Commodore 64 home computer. Written by British programmer David Simons in 1983, who was 16 years old at the time, it was distributed by Commodore as a cartridge.

The Super Expander 64 was a cartridge-based extension to the built in BASIC V2 interpreter of the then immensely popular Commodore 64 home computer: Since the 64 was developed in a hurry, Commodore simply adapted the BASIC V2 from the PET line of computers and the VIC 20 for their new machine, with no support for the advanced sound and graphics capabilities of the 64. To make use of the advanced hardware, BASIC programmers needed to memorize hardware addresses and "POKE" commands directly to the memory-mapped devices. Later 8-bit systems from Commodore had BASIC interpreters enhanced to support the special hardware, and with the Super Expander 64 cartridge, Commodore 64 users could "retrofit" their machine with a BASIC to match the hardware capabilities.