BASIC 8

BASIC 8 (or BASIC 8.0)  "The Enhanced Graphics System For The C128"  developed by Walrusoft of Gainesville, Florida[1] 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 (640×200 pixels) for RGB monitors.

The BASIC 8 package was developed by Walrusoft's Louis Wallace and David Darus, with contributions from Ken French (printer drivers) and indirectly from Richard Rylander (who allowed his 3D solids commands for the C64, originally published in Dr. Dobb's Journal, to be converted to the C128's hi-res mode).

Background and description

The problem

One of the primary critiques of Commodore's computers was that their BASIC programming language dialects lacked easy sound, graphics, and input device commands, like their competitors in the Apple II and Atari 8-bit families  requiring obscure PEEK and POKE sequences, or machine language routines, to generate high-resolution graphics, sound and music, or read from joysticks and paddles. The BASIC 2.0 of the Commodore 64, totally devoid of sound and graphics commands, induced the development of many third-party language extensions, such as Simons' BASIC, enabling non-expert users to enter the world of computer graphics.

When the C128 was launched, its BASIC 7.0 contained a host of sound and graphics commands. However, they only worked in the "40-column" video mode, i.e. the TV/composite monitor mode with a resolution equal to the C64's. Users who wanted to program graphics in the C128's new high-resolution "80-column mode", primarily intended for RGBI monitors, found themselves in an even worse position than previously with the C64, since the C128's 8563 VDC graphics chip was much harder to program than the VIC-II.

A solution

BASIC 8.0 filled in the gap. It came on floppy disk and ROM chip versions, and provided many graphics commands that were competitive with the C128's opposition in the high-end 8-bit microcomputer market. BASIC 8.0 was fully compatible with the various first-party RAM and video RAM expansion chips and cartridges, as well as mice and joysticks. In addition, it had basic 3D graphics commands.[2] Along with a 188-page manual, the included software package included a BASIC 8.0 example of a GUI, and a BASIC 8.0 based high-res paint program, Basic Paint.

Source code, copy protection

Source code of some of the BASIC 8 package was provided, and the BASIC 8.0 disk lacked any sort of copy protection, but this was before the Open Source Initiative; it was done as a courtesy. Instead of threatening legal action, Walrusoft simply asked users not to copy the software in the documentation. It worked; BASIC 8.0 became one of the best selling expansions for the C128.

Sample commands

In BASIC 8.0, all added commands were prefaced with the @ mark, which was not normally used in Commodore BASIC, to distinguish between the original and the new keywords. The use of this character would allow the developer to extend BASIC 7.0 without having to re-tokenize the commands as it was done on the C64. It was accomplished by trapping the syntax error generated by the command.

  • @CHAR Displays a text string on a bitmap field (similar to the BASIC 7.0's low-res CHAR command)
  • @MODE Switch between one of up to 32 high-res screens
  • @PAINT Fill a closed area with a color or a pattern
  • @PIXEL Returns the color value of a pixel
  • @STASH Copies part or all of a screen for later usage
  • @WALRUS Displays the Walrusoft logo and the type/size of video RAM used (16K or 64K)
  • @WINDOWOPEN Define part of the screen as a 'window' for purposes of drawing

References notes and citations

References

  • Wallace, Louis R. (1987). Basic 8 Manual. Somerset, NJ: Walrusoft/Patech Software, Inc. p. 188 pp.

Notes

  1. ^ The VDC was programmed by writing commands to and reading status messages from a single control register and transferring data between system RAM and the chip's dedicated video RAM (16 or 64 KB, depending on C128 version) via a single data register, following a relatively complex protocol  a laborious and slow procedure compared with the straightforward use of the several discrete, memory mapped control/status registers the shared system/video memory setup of the VIC-II. Many programmers took advantage of a VDC control primitive buried deep within the part of the KERNAL that controlled the 80 column video display, rather than writing their own primitive.

Citations

  1. Holroyd, Eric (November 1989). "The Australian Commodore and Amiga Review" (PDF). Vol. 6 no. 11. Saturday Magazine Pty Ltd. p. 13. Archived (PDF) from the original on 11 March 2019. Cite magazine requires |magazine= (help)
  2. "Walrusoft Basic 8". Retro Commodore. 28 March 2010. Archived from the original on 20 September 2018. Retrieved 11 March 2019.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.