The IBM Personal Computer Basic , commonly shortened to IBM BASIC , is a programming language first released by IBM with the IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Microsoft BASIC interpreter , licensed from Microsoft for the PC and PCjr . They are known as Cassette BASIC, Disk BASIC, Advanced BASIC (BASICA), and Cartridge BASIC. Versions of Disk BASIC and Advanced BASIC were included with IBM PC DOS up to PC DOS 4. In addition to the features of an ANSI standard BASIC , the IBM versions offered support for the graphics and sound hardware of the IBM PC line. Source code could be entered with a full-screen editor, and limited facilities were provided for rudimentary program debugging . IBM also released a version of the Microsoft BASIC compiler for the PC concurrently with the release of PC DOS 1.10 in 1982.
39-547: IBM licensed Microsoft BASIC for the IBM Personal Computer despite already having its own version of BASIC for the company's mainframes. Don Estridge said, "Microsoft BASIC had hundreds of thousands of users around the world. How are you going to argue with that?" IBM Cassette BASIC came in 32 kilobytes (KB) of read-only memory (ROM), separate from the 8 KB BIOS ROM of the original IBM PC, and did not require an operating system to run. Cassette BASIC provided
78-517: A PC or PCjr was booted without a bootable disk or cartridge. Disk BASIC and Advanced BASIC load when their command name (BASIC and BASICA respectively) is typed at a DOS command prompt (except on a PCjr, which activates Cartridge BASIC instead), with some optional parameters to control allocation of memory. When loaded, a sign-on identification message displays the program version number, and a full-screen text editor starts (see images, right). The function keys are assigned common commands, which display at
117-479: A displayed line of program source code by moving the cursor to the line with the cursor keys, and typing over the on-screen text. Program source is stored internally in a tokenized form in which reserved words are replaced with a single byte token to save space and execution time. Programs may be saved in compact tokenized form or optionally saved as DOS ASCII text files that can be viewed and edited with other programs. Like most other DOS applications, IBM BASIC
156-579: A million PCs. Estridge has been honored many times. In 1999, he was identified in CIO magazine as one of the people who "invented the enterprise". The Don Estridge High-Tech Middle School — formerly IBM Facility Building 051 — in Boca Raton, Florida, is named after him, and received Estridge's IBM 5150 personal computers from his family on the occasion of its dedication in 2004. DONKEY.BAS Donkey , often known by its filename DONKEY.BAS ,
195-472: A multimillion-dollar job as president of Apple Computer but he declined. Estridge and wife Mary Ann were killed in the crash of Delta Air Lines Flight 191 at Dallas/Fort Worth International Airport on August 2, 1985. He was 48 years old. At the time of his death, IBM ESD, which included the development and manufacturing of the IBM PC, PC DOS , PC LAN and TopView , had nearly 10,000 employees and had sold over
234-532: A particular score is reached. The Esc key quits the game. Sprites are rendered slightly differently between the QBasic interpreter and the original IBM BASICA/GW-BASIC interpreter. When IBM was developing its personal computer in the late 1970s and early 1980s, it contracted Microsoft to develop an operating system and a version of the BASIC programming language to release with the new computer. The operating system
273-522: A small stub that called BASICA.COM for compatibility with batch files. Even with all this excess RAM, BASIC would still allocate and manage only about 61 KB for user programs, whether it was Cassette BASIC, BASIC.COM, or BASICA. IBM Advanced BASIC (BASICA.COM) was also included in the original IBM PC DOS and required the ROM-resident code of Cassette BASIC. It added functions such as diskette file access, storing programs on disk, monophonic sound using
312-690: Is QBasic , launched in 1991. It is a stripped-down version of the Microsoft QuickBASIC compiler: QBasic is an interpreter and cannot compile source files, while QuickBASIC can compile and save the programs in the .EXE executable file format. QuickBASIC also includes some advanced language statements and functions (mostly involving OS interfacing and low-level machine-language programming), supports multi-module programs, and includes advanced debugging features, all of which are absent from QBASIC. Philip Don Estridge Philip Donald Estridge (June 23, 1937 – August 2, 1985), known as Don Estridge ,
351-411: Is a text-mode program and has no features for windows, icons, mouse support, or cut-and-paste editing. GW-BASIC , launched in 1983, is a disk-based Microsoft product that was distributed with non-IBM MS-DOS computers and supports all the graphics modes and features of BASICA on computers that do not have IBM Cassette BASIC. The successor to BASICA for MS-DOS and PC DOS versions, now discontinued,
390-526: Is a video game written in 1981 and included with early versions of the IBM PC DOS operating system distributed with the original IBM PC . It is a top-down driving game in which the player must avoid hitting donkeys . The game was written by Microsoft co-founder Bill Gates and early employee Neil Konzen . Although on the game's title screen it is simply named Donkey , it is often referred to by its filename of DONKEY.BAS . All BASIC programs used
429-626: Is a superset of advanced BASIC. Cartridge BASIC could operate only within the first 128 KB of memory on the PCjr and did not work with expansion RAM, i.e. , the DEF SEG function cannot be used to point to memory segments above &H1FF0. Cartridge BASIC was activated by typing BASICA at the DOS prompt. Conversely, IBM BASICA versions 2.1 and up refused to run if they detected a PCjr, but they could be patched to work around this limitation. Cassette BASIC loaded when
SECTION 10
#1733085190841468-433: Is driving up the road, and every few seconds a donkey will appear at random on one side of the road at the top of the screen. As the donkey moves down the screen, the player can press the space bar to switch between lanes to avoid the donkey. If the car hits the donkey, both car and donkey explode, and parts of the graphics are scattered to the four corners of the screen to the sound of a short monophonic tune played through
507-502: Is no goal other than to avoid donkeys. The game uses the CGA display mode, the only colour graphics mode available on the original IBM PC. The mode allows four colours, but in DONKEY.BAS there are usually only three on screen. The center of the screen shows a vertical scrolling road with two lanes; the areas on either side of the road are used for scores and instructions. The player's car
546-605: The LINE statement was used to draw lines that trailed off-screen, BASIC merely intersected them with the nearest adjacent line, while in BASIC 2.x and up, the lines ran off the screen and did not intersect. The PAINT command in BASIC 1.x began filling at the coordinate specified and expanded outward in alternating up and down directions, while in BASIC 2.x it filled everything below the starting coordinate and then, after finishing, everything above it. BASIC 1.x's PAINT command also made use of
585-544: The IBM cassette tape interface, which is unavailable on models after the original Model 5150. The entry-level version of the 5150 came with just 16 KB of random-access memory (RAM), which was sufficient to run Cassette BASIC. However, Cassette BASIC was rarely used because few PCs were sold without a disk drive, and most were sold with PC DOS and sufficient RAM to at least run Disk BASIC—many could run Advanced BASIC as well. There are three versions of Cassette BASIC: C1.00 (found on
624-455: The PC speaker , with the word "BOOM!" displayed on the left side of the screen. If the player avoids the donkey, it will scroll off the bottom of the screen, with the words "Donkey loses!" displayed on the right side of the screen, and after a few seconds another will appear. There is never more than one donkey on the screen at any one time. The game keeps the score between the player and the donkeys. If
663-402: The ".BAS" extension , and MS-DOS-compatible operating systems that came before Windows 95 display file names in upper case . These conventions are often maintained when the game is referred to in writing. DONKEY.BAS is a simple driving game in which the player controls a car but cannot steer, accelerate or brake, only changing lanes to avoid a series of donkeys on the road. There
702-629: The BASICA game DONKEY.BAS . GW-BASIC is identical to BASICA, with the exception of including the Cassette BASIC code in the program, thus allowing it to run on non-IBM computers and later IBM models that lack Cassette BASIC in ROM. A ROM cartridge version of BASIC was available only on the IBM PCjr , shipped in 1984, and supported the additional graphics modes and sound capabilities possible on that machine. It
741-503: The Mac project), but we were amazed that such a thoroughly bad game could be co-authored by Microsoft's co-founder and that he would actually want to take credit for it in the comments. The first version of DONKEY.BAS was released in 1981, followed by version 1.10 in 1982. The operating systems with which the game was first distributed still work on modern computers with compatible BIOS and 5.25-inch floppy drives; however, IBM BASICA which ran
780-636: The PC's built-in speaker, graphics functions to set and clear pixels , similar functions to draw lines and circles and to set colors, and event handling for communications and joystick presses. BASICA will not run on non-IBM computers (even so-called "100% compatible" machines) or later IBM models, because they lack the needed ROM BASIC. BASICA versions are the same as those of their respective DOS, beginning with v1.00 and ending with v3.30. The early versions of BASICA did not support subdirectories, and some graphics commands functioned slightly differently. As an example, if
819-615: The ROM-resident code and added floppy-disk and serial-port support. Disk BASIC can be identified by its use of the letter D preceding the version number. It adds disk support and some features lacking in Cassette BASIC but does not include the extended sound or graphics functions of BASICA. The primary purpose of Disk BASIC was as a "light" version for IBM PCs with only 48 KB of memory: BASIC.COM would then have about 23 KB free for user code, whereas BASICA would have only about 17 KB. By 1986, all new PCs shipped with at least 256k, and DOS versions after 3.00 reduced Disk BASIC to only
SECTION 20
#1733085190841858-481: The bottom of the screen. Commands may be typed in to load or save programs, and expressions can be typed in and executed in direct (immediate) mode . If a line of input starts with a number, the language system stores the following line of text as part of program source, allowing a programmer to enter an entire program line by line, with line numbers before each statement. When listed on screen, lines are displayed in order of increasing line number. Changes can be made to
897-436: The car hits a donkey, the donkey gets a point, and the player is returned to the start of the road. As the car avoids donkeys, it moves slowly up the screen, giving the player less time to react when donkeys appear. If the car avoids enough donkeys, the player receives a point, and the car is moved back to the bottom of the road. The game displays the number of points earned by the player and donkey, but does not end or change when
936-589: The default user interface invoked by the BIOS through INT 18h if there was no floppy disk drive installed or if the boot code did not find a bootable floppy disk at power up. The name Cassette BASIC came from its use of cassette tapes rather than floppy disks to store programs and data. Cassette BASIC was built into the ROMs of the original PC and XT and of early models in the PS/2 line. It supports loading and saving programs only to
975-603: The early IBM PCs with 16–64K motherboards), C1.10 (found on all later IBM PCs, XTs, ATs, and PS/2s), and C1.20 (found on the PCjr). IBM Disk BASIC (BASIC.COM) was included in the original IBM PC DOS . Because it used the 32 KB Cassette BASIC ROM, BASIC.COM did not run on even highly compatible PC clones , such as the Compaq Portable . The name Disk BASIC came from its use of floppy disks as well as cassette tapes to store programs and data. Disk-based code corrected errata in
1014-492: The game. We thought the concept of the game was as bad as the crude graphics that it used. Since the game was written in BASIC, you could list it out and see how it was written. We were surprised to see that the comments at the top of the game proudly proclaimed the authors: Bill Gates and Neil Konzen. Neil was a bright teenage hacker who I knew from his work on the Apple ;II (who would later become Microsoft's technical lead on
1053-560: The goal of developing a low-cost personal computer to compete against increasingly popular offerings from the likes of Apple Computer , Commodore International , and other perceived IBM competitors. To create a cost-effective alternative to those companies' products, Estridge realized that it would be necessary to rely on third-party hardware and software. This was a marked departure from previous IBM strategy, which centered on in-house vertical development of complicated mainframe systems and their requisite access terminals. Estridge also published
1092-435: The involvement of Gates at a time when Microsoft was relatively small and only six years old. According to a speech delivered by Gates in 2001: Actually, it was myself and Neil Thompson [sic] at four in the morning with this prototype IBM PC sitting in this small room. IBM insisted that we had to have a lock on the door, and we only had this closet that had a lock on it, so we had to do all our development in there, and it
1131-713: The largest and most successful special bids ever won by IBM was the Series/1 Agent Computer System for the State Farm Insurance company. In mid-1980, he was rewarded with the opportunity to lead IBM's efforts in the emerging personal computer business. His efforts to develop the IBM PC began when he took control of the IBM Entry Level Systems in 1980 (and was later named president of the newly formed IBM Entry Systems Division (ESD) in August 1983), with
1170-453: The leader of the team to develop the IBM PC he had been the lead manager for the development of the IBM Series/1 mini-computer. After this project, in 1979, he was assigned to manage a Series/1 special bid development group. This engineering and planning organization was responsible for responding to custom system solutions requested by large account sales and marketing representatives. One of
1209-502: The only version of BASIC besides IBM BASICA 1.00 and 1.10 to use FCBs and include the original LINE statement with intersecting lines (the PAINT statement in Compaq BASIC 1.13 worked like in all later versions of BASICA/GW-BASIC: it used the new fill algorithm and no stack). Early versions of PC DOS included several sample BASIC programs that demonstrated the capabilities of the PC, including
IBM BASIC - Misplaced Pages Continue
1248-477: The program under PC DOS 1.x requires ROM -based IBM Cassette BASIC , which modern computers do not have. The source code is still available. The game may be played with the GW-BASIC (original code) or QBasic (adapted code) interpreters or in compiled form (see " external links " below). As a programming example for the new .NET platform and Visual Basic .NET programming language, in 2001 Microsoft developed
1287-536: The specifications of the IBM PC, allowing a booming third-party aftermarket hardware business to take advantage of the machine's expansion card slots. The competitive cost and expandability options of the first model, the IBM PC model 5150 , as well as IBM's reputation, led to strong sales to both enterprise and home customers. Estridge was rapidly promoted, and by 1984 was IBM Vice President, Manufacturing, supervising all manufacturing worldwide. Steve Jobs offered Estridge
1326-457: The system stack for storage and when filling in complex areas it could produce an OVERFLOW error. To remedy this, the CLEAR statement could be used to expand BASIC's stack (128 bytes is the default size). BASIC 2.x did not use the stack when PAINTing and thus was free of this problem. Compaq BASIC 1.13 was the first standalone BASIC for the PC (that did not require Cassette BASIC to run) as well as
1365-414: Was a lo-res graphics driving game called "Donkey". The player was supposed to be driving a car down a slowly scrolling, poorly rendered "road", and could hit the space bar to toggle the jerky motion. Every once in a while, a brown blob would fill the screen, which was supposed to be a donkey manifesting in the middle of the road. If you didn't hit the space bar in time, you would crash into the donkey and lose
1404-734: Was a professional photographer. He graduated from Bishop Kenny High School in 1955, and from the University of Florida in 1959. He married Mary Ann Hellier in September, 1958, and they had three daughters: Patricia Ann, Mary Evelyn and Sandra Marie. He completed a bachelor's degree in electrical engineering at the University of Florida and worked at the Army, designing a radar system using computers, IBM and finally NASA 's Goddard Space Flight Center until he moved to Boca Raton, Florida , in 1969. Before being
1443-672: Was always over 100 degrees, but we wrote late at night a little application to show what the Basic built into the IBM ;PC could do. And so that was Donkey.bas . It was at the time very thrilling. Apple 's Andy Hertzfeld mentioned the game in a description of the Macintosh team's reaction to the 1981 IBM PC purchased for them by Steve Jobs "to dissect and evaluate", noting that the new computer shipped with "some games written in BASIC that were especially embarrassing": The most embarrassing game
1482-458: Was an American computer engineer who led development of the original IBM Personal Computer (PC), and thus is known as the "father of the IBM PC". He opened its specifications, which revolutionized the computer industry, resulting in a vast increase in sales of personal computers and creating an entire industry of hardware compatible PCs . Estridge was born in Jacksonville, Florida . His father
1521-418: Was released as IBM PC DOS when included with IBM PCs and as MS-DOS when sold separately by Microsoft. Both included versions of Microsoft BASIC . DONKEY.BAS was written by Bill Gates and Neil Konzen to demonstrate the IBM PC and the BASIC programming language's capability to produce interactive programs with color graphics and sound . The game continues to generate interest, in part because of
#840159