The APF Imagination Machine is a combination home video game console and home computer system released by APF Electronics Inc. in late 1979. It has two separate components, the APF-M1000 game system, and an add-on docking bay with full sized typewriter keyboard and tape drive. The APF-M1000 was built specifically to compete with the Atari 2600 . The full APF Imagination Machine, including the APF-M1000 console and the IM-1 computer component, originally sold for around US$ 599 (equivalent to $ 2,510 in 2023).
122-414: The bundled APF BASIC interpreter allows any users to develop their own programs. Most retailers of the system offered a full and hefty instruction manual to explain how the specialized code works, and a tech sheet that specifies every function of every chip on the console, so as to allow the users to make the most efficient code possible. To encourage more home users to create their own games and trade them,
244-435: A ROM cartridge. BASIC declined in popularity in the 1990s, as more powerful microcomputers came to market and programming languages with advanced features (such as Pascal and C ) became tenable on such computers. By then, most nontechnical personal computer users relied on pre-written applications rather than writing their own programs. In 1991, Microsoft released Visual Basic , combining an updated version of BASIC with
366-523: A sigil , and values are often identified as strings by being delimited by "double quotation marks". Arrays in BASIC could contain integers, floating point or string variables. Some dialects of BASIC supported matrices and matrix operations , which can be used to solve sets of simultaneous linear algebraic equations. These dialects would directly support matrix operations such as assignment, addition, multiplication (of compatible matrix types), and evaluation of
488-535: A visual forms builder . This reignited use of the language and "VB" remains a major programming language in the form of VB.NET , while a hobbyist scene for BASIC more broadly continues to exist. John G. Kemeny was the chairman of the Dartmouth College Mathematics Department. Based largely on his reputation as an innovator in math teaching, in 1959 the college won an Alfred P. Sloan Foundation award for $ 500,000 to build
610-465: A "prefetcher" to increase performance by fetching up to 11 instructions from memory before they were needed. Data General also produced a series of microNOVA single-chip implementations of the Nova processor. To allow it to fit into a 40-pin dual in-line package (DIP) chip, the address bus and data bus shared a set of 16 pins. This meant that reads and writes to memory required two cycles, and that
732-764: A $ 300,000 grant from the National Science Foundation , which was used to purchase a GE-225 computer for processing, and a Datanet-30 realtime processor to handle the Teletype Model 33 teleprinters used for input and output. A team of a dozen undergraduates worked on the project for about a year, writing both the DTSS system and the BASIC compiler. The first version BASIC language was released on 1 May 1964. Initially, BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as
854-677: A BASIC for the PDP-8 , which was a major success in the education market. By the early 1970s, FOCAL and JOSS had been forgotten and BASIC had become almost universal in the minicomputer market. DEC would go on to introduce their updated version, BASIC-PLUS , for use on the RSTS/E time-sharing operating system. During this period a number of simple text-based games were written in BASIC, most notably Mike Mayfield's Star Trek . David Ahl collected these, some ported from FOCAL, and published them in an educational newsletter he compiled. He later collected
976-475: A batch language, and character string functionality being added by 1965. Usage in the university rapidly expanded, requiring the main CPU to be replaced by a GE-235, and still later by a GE-635. By the early 1970s there were hundreds of terminals connected to the machines at Dartmouth, some of them remotely. Wanting use of the language to become widespread, its designers made the compiler available free of charge. In
1098-404: A centrally located "board-on-a-board", 5.25" wide by 6.125" high, and was covered by a protective plate. It was surrounded by the necessary support driver read-write-rewrite circuitry. All of the core and the corresponding support electronics fit onto a single standard 15 x 15-inch (380 mm) board. Up to 32K of such core RAM could be supported in one external expansion box. Semiconductor ROM
1220-452: A consortium of venture capital funds from the Boston area, who agreed to provide an initial US$ 400,000 investment with a second US$ 400,000 available for production ramp-up. de Castro, Burkhart and Sogge quit DEC and started Data General (DG) on 15 April 1968. Green did not join them, considering the venture too risky, and Richman did not join until the product was up and running later in
1342-481: A demonstration of the power of their Micromatrix gate array technology, in 1968 Fairchild prototyped the 4711, a single-chip 4-bit ALU. The design was never intended for mass production and was quite expensive to produce. The introduction of the Signetics 8260 in 1969 forced their hand; both Texas Instruments and Fairchild introduced 4-bit ALUs of their own in 1970, the 74181 and 9341, respectively. In contrast to
SECTION 10
#17327837113751464-466: A determinant. Many microcomputer BASICs did not support this data type; matrix operations were still possible, but had to be programmed explicitly on array elements. New BASIC programmers on a home computer might start with a simple program, perhaps using the language's PRINT statement to display a message on the screen; a well-known and often-replicated example is Kernighan and Ritchie 's "Hello, World!" program : An infinite loop could be used to fill
1586-504: A game is played. The console has a number of aftermarket add-ons: It has a hub of sorts, generally called the "building block", which allows for the connection of some standard computer accessories. In addition to the one BASIC interpreter cartridge bundled with the system, only 15 official game cartridges were ever released by APF Electronics Inc, although several cartridges contain multiple games. Many games were created by an active programming community of owners and distributed through
1708-410: A loop: DO 100 , I = 1 , 10 , 2 . Is it '1, 10, 2' or '1, 2, 10', and is the comma after the line number required or not?" Moreover, the lack of any sort of immediate feedback was a key problem; the machines of the era used batch processing and took a long time to complete a run of a program. While Kurtz was visiting MIT , John McCarthy suggested that time-sharing offered a solution;
1830-458: A machine capable of running between 16 and 32 users at the same time. The system, bundled as the HP 2000, was the first mini platform to offer time-sharing and was an immediate runaway success, catapulting HP to become the third-largest vendor in the minicomputer space, behind DEC and Data General (DG). DEC, the leader in the minicomputer space since the mid-1960s, had initially ignored BASIC. This
1952-458: A matching high-performance version. Gruner's low-cost model launched in 1970 as the Nova 1200 , the 1200 referring to the use of the original Nova's 1,200 ns core memory. It featured a 4-bit ALU based on a single 74181 chip, and was thus essentially a repackaged Nova. Seligman's repackaged four-ALU SuperNOVA was released in 1971 as the Nova 800 , resulting in the somewhat confusing naming where
2074-411: A monthly mailing list lasted well through the video game crash of 1983 and into the next generation of consoles. One of the most marketed features of the console is the dual-sided cassette drive that allows the user to write or use a stored program, and also to record or play audio. The feature is generally used for programmers to leave notes about their work, or for instructions to be read aloud before
2196-417: A new department building. Thomas E. Kurtz had joined the department in 1956, and from the 1960s Kemeny and Kurtz agreed on the need for programming literacy among students outside the traditional STEM fields. Kemeny later noted that "Our vision was that every student on campus should have access to a computer , and any faculty member should be able to use a computer in the classroom whenever appropriate. It
2318-408: A new design effort known as "PDP-X" which included several advanced features. Among these was a single underlying design that could be used to build 8-, 16-, and 32-bit platforms. This progressed to the point of producing several detailed architecture documents. Ken Olsen was not supportive of this project, feeling it did not offer sufficient advantages over the 12-bit PDP-8 and the 18-bit PDP-9 . It
2440-470: A new generation of designs with word lengths that were multiples of 8 bits rather than multiples of 6 bits as in most previous designs. This led to mid-range designs working at 16-bit word lengths instead of DEC's current 12- and 18-bit lineups. de Castro was convinced that it was possible to improve upon the PDP-8 by building a 16-bit minicomputer CPU on a single 15-inch square board. In 1967, de Castro began
2562-433: A number of these into book form, 101 BASIC Computer Games , published in 1973. During the same period, Ahl was involved in the creation of a small computer for education use, an early personal computer . When management refused to support the concept, Ahl left DEC in 1974 to found the seminal computer magazine, Creative Computing . The book remained popular, and was re-published on several occasions. The introduction of
SECTION 20
#17327837113752684-401: A prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration", BASIC was one of the few languages that was both high-level enough to be usable by those without training and small enough to fit into the microcomputers of the day, making it the de facto standard programming language on early microcomputers. The first microcomputer version of BASIC
2806-408: A separate slot. An additional option allowed for memory mapping, allowing programs to access up to 128 kwords of memory using bank switching . Unlike the earlier machines, the Nova 4 did not include a front panel console and instead included a ROM containing machine code that allows a terminal to emulate a console when needed. There were three different versions of the Nova 4, the Nova 4/C,
2928-463: A single machine could divide up its processing time among many users, giving them the illusion of having a (slow) computer to themselves. Small programs would return results in a few seconds. This led to increasing interest in a system using time-sharing and a new language specifically for use by non-STEM students. Kemeny wrote the first version of BASIC. The acronym BASIC comes from the name of an unpublished paper by Thomas Kurtz. The new language
3050-406: A smaller introductory version with the initial releases of the machines and a Microsoft-based version introduced as interest in the platforms increased. As new companies entered the field, additional versions were added that subtly changed the BASIC family. The Atari 8-bit computers use the 8 KB Atari BASIC which is not derived from Microsoft BASIC. Sinclair BASIC was introduced in 1980 with
3172-562: A version of the MS code, or quickly introduced new models with it. Ohio Scientific's personal computers also joined this trend at that time. By 1978, MS BASIC was a de facto standard and practically every home computer of the 1980s included it in ROM . Upon boot, a BASIC interpreter in direct mode was presented. Commodore Business Machines includes Commodore BASIC , based on Microsoft BASIC. The Apple II and TRS-80 each have two versions of BASIC:
3294-561: A wide variety of Tiny BASICs with added features or other improvements, with versions from Tom Pittman and Li-Chen Wang becoming particularly well known. Micro-Soft, by this time Microsoft , ported their interpreter for the MOS 6502 , which quickly become one of the most popular microprocessors of the 8-bit era. When new microcomputers began to appear, notably the "1977 trinity" of the TRS-80 , Commodore PET and Apple II , they either included
3416-503: A year earlier. Others within DEC had become used to the smaller boards used in earlier machines and were concerned about tracking down problems when there were many components on a single board. For the 8/I, the decision was made to stay with small boards, using the new " flip-chip " packaging for a modest improvement in density. During the period when the PDP-8 was being developed, the introduction of ASCII and its major update in 1967 led to
3538-406: Is a diverse but ardent group of people worldwide who restore and preserve original 16-bit Data General systems. The Nova, unlike the PDP-8 , was a load–store architecture . It had four 16-bit accumulator registers, two of which (2 and 3) could be used as index registers . There was a 15-bit program counter and a single-bit carry register. As with the PDP-8, current + zero page addressing
3660-577: Is one of the languages that can be accessed by the 4Dos, 4NT, and Take Command enhanced shells. SaxBasic and WWB are also very similar to the Visual Basic line of Basic implementations. The pre-Office 97 macro language for Microsoft Word is known as WordBASIC . Excel 4 and 5 use Visual Basic itself as a macro language. Chipmunk Basic , an old-school interpreter similar to BASICs of the 1970s, is available for Linux , Microsoft Windows and macOS . The ubiquity of BASIC interpreters on personal computers
3782-496: Is very similar to VBA 6. The Host Explorer terminal emulator uses WWB as a macro language; or more recently the programme and the suite in which it is contained is programmable in an in-house Basic variant known as Hummingbird Basic. The VBScript variant is used for programming web content, Outlook 97, Internet Explorer, and the Windows Script Host. WSH also has a Visual Basic for Applications (VBA) engine installed as
APF Imagination Machine - Misplaced Pages Continue
3904-460: Is written for GW-BASIC, but will work in most versions of BASIC with minimal changes: The resulting dialog might resemble: Data General Nova The Data General Nova is a series of 16-bit minicomputers released by the American company Data General . The Nova family was very popular in the 1970s and ultimately sold tens of thousands of units. The first model, known simply as "Nova",
4026-511: The Apple Macintosh , while yab is a version of yaBasic optimized for BeOS , ZETA and Haiku . These later variations introduced many extensions, such as improved string manipulation and graphics support, access to the file system and additional data types . More important were the facilities for structured programming , including additional control structures and proper subroutines supporting local variables . However, by
4148-536: The Nintendo 3DS and Nintendo DSi called Petit Computer allows for programming in a slightly modified version of BASIC with DS button support. A version has also been released for Nintendo Switch , which has also been supplied a version of the Fuze Code System, a BASIC variant first implemented as a custom Raspberry Pi machine. Previously BASIC was made available on consoles as Family BASIC (for
4270-536: The Nintendo Famicom ) and PSX Chipmunk Basic (for the original PlayStation ), while yabasic was ported to the PlayStation 2 and FreeBASIC to the original Xbox . Variants of BASIC are available on graphing and otherwise programmable calculators made by Texas Instruments ( TI-BASIC ), HP ( HP BASIC ), Casio ( Casio BASIC ), and others. QBasic , a version of Microsoft QuickBASIC without
4392-569: The PDP-11 and Data General Nova in the late 1960s and early 1970s. Hewlett-Packard produced an entire computer line for this method of operation, introducing the HP2000 series in the late 1960s and continuing sales into the 1980s. Many early video games trace their history to one of these versions of BASIC. The emergence of microcomputers in the mid-1970s led to the development of multiple BASIC dialects, including Microsoft BASIC in 1975. Due to
4514-454: The PDP-11 , a much more complex design that was as different from the PDP-X as the Nova was. The two designs competed heavily in the market. Rumors of the new system from DEC reached DG shortly after the Nova began shipping. In spring 1970 they hired a new designer, Larry Seligman, to leapfrog any possible machine in the making. Two major changes had taken place since the Nova was designed; one
4636-951: The QB64 and FreeBASIC implementations. In 2013 a game written in QBasic and compiled with QB64 for modern computers entitled Black Annex was released on Steam . Blitz Basic , Dark Basic , SdlBasic , Super Game System Basic , PlayBASIC , CoolBasic , AllegroBASIC , ethosBASIC , GLBasic and Basic4GL further filled this demand, right up to the modern RCBasic , NaaLaa , AppGameKit , Monkey 2 and Cerberus-X . In 1991, Microsoft introduced Visual Basic , an evolutionary development of QuickBASIC . It included constructs from that language such as block-structured control statements, parameterized subroutines and optional static typing as well as object-oriented constructs from other languages such as "With" and "For Each". The language retained some compatibility with its predecessors, such as
4758-487: The input/output circuitry and a complete system typically included another board with 4 kB of random-access memory . A complete four-card system fit in a single rackmount chassis. The boards were designed so they could be connected together using a printed circuit backplane , with minimal manual wiring, allowing all the boards to be built in an automated fashion. This greatly reduced costs over 8/I, which consisted of many smaller boards that had to be wired together at
4880-460: The "program load" switch was flipped. Versions were available with four ("2/4"), seven and ten ("2/10") slots. The Nova 3 of 1975 added two more registers, used to control access to a built-in stack. The processor was also re-implemented using TTL components, further increasing the performance of the system. The Nova 3 was offered in four-slot (the Nova 3/4) and twelve-slot (the Nova 3/12) versions. It appears that Data General originally intended
5002-491: The 1960s, software became a chargeable commodity; until then, it was provided without charge as a service with expensive computers, usually available only to lease. They also made it available to high schools in the Hanover, New Hampshire , area and regionally throughout New England on Teletype Model 33 and Model 35 teleprinter terminals connected to Dartmouth via dial-up phone lines, and they put considerable effort into promoting
APF Imagination Machine - Misplaced Pages Continue
5124-505: The 8260, the new designs offered all common logic functions and further reduced the chip count. This led DG to consider the design of a new CPU using these more integrated ICs. At a minimum, this would reduce the CPU to a single card for either the basic Nova or the SuperNOVA. A new concept emerged where a single chassis would be able to host either machine simply by swapping out the CPU circuit board. This would allow customers to purchase
5246-561: The BASIC language with a day of events on April 30, 2014. A short documentary film was produced for the event. Minimal versions of BASIC had only integer variables and one- or two-letter variable names, which minimized requirements of limited and expensive memory (RAM). More powerful versions had floating-point arithmetic, and variables could be labelled with names six or more characters long. There were some problems and restrictions in early implementations; for example, Applesoft BASIC allowed variable names to be several characters long, but only
5368-508: The DO was instead indicated by the NEXT I . Likewise, the cryptic IF statement of Fortran, whose syntax matched a particular instruction of the machine on which it was originally written, became the simpler IF I = 5 THEN GOTO 100 . These changes made the language much less idiosyncratic while still having an overall structure and feel similar to the original FORTRAN. The project received
5490-497: The Dim keyword for declarations, "Gosub"/Return statements and optional line numbers which could be used to locate errors. An important driver for the development of Visual Basic was as the new macro language for Microsoft Excel , a spreadsheet program. To the surprise of many at Microsoft who still initially marketed it as a language for hobbyists, the language came into widespread use for small custom business applications shortly after
5612-528: The Imagination Machine was to beat to market Atari 's preannounced but never-launched plans to extend the Atari 2600 to become a home computer. The design was inspired by reverse engineering the TRS-80 , Commodore PET , and Apple II home computers . Working directly with Fairchild Semiconductor , the team got much of its I/O design from Andy Grove . The engineering department wanted to make
5734-476: The Nova 3 to be the last of its line, planning to replace the Nova with the later Eclipse machines. However, continued demand led to a Nova 4 machine introduced in 1978, this time based on four AMD Am2901 bit-slice ALUs . This machine was designed from the start to be both the Nova 4 and the Eclipse S/140, with different microcode for each. A floating-point co-processor was also available, taking up
5856-413: The Nova 4/S and the Nova 4/X. The Nova 4/C was a single-board implementation that included all of the memory (16 or 32 kwords). The Nova 4/S and 4/X used separate memory boards. The Nova 4/X had the on-board memory management unit (MMU) enabled to allow up to 128 kwords of memory to be used. The MMU was also installed in the Nova 4/S, but was disabled by firmware. Both the 4/S and the 4/X included
5978-436: The Nova computers, running under a range of consistent operating systems. FORTRAN IV , ALGOL , Extended BASIC, Data General Business Basic , Interactive COBOL , and several assemblers were available from Data General. Third-party vendors and the user community expanded the offerings with Forth , Lisp , BCPL , C , ALGOL , and other proprietary versions of COBOL and BASIC . The machine instructions implemented below are
6100-456: The Nova simple compared to competing machines. In addition to its dedicated I/O bus structure, the Nova backplane had wire wrap pins that could be used for non-standard connectors or other special purposes. The instruction format could be broadly categorized into one of three functions: 1) register-to-register manipulation, 2) memory reference, and 3) input/output. Each instruction was contained in one word. The register-to-register manipulation
6222-406: The PDP-X, the new effort focused on a single machine that could be brought to market quickly, as de Castro felt the PDP-X concept was far too ambitious for a small startup company . Discussing it with the others at DEC, the initial concept led to an 8-bit machine which would be less costly to implement. The group began talking with Herbert Richman, a salesman for Fairchild Semiconductor who knew
SECTION 50
#17327837113756344-642: The Sinclair ZX80 , and was later extended for the Sinclair ZX81 and the Sinclair ZX Spectrum . The BBC published BBC BASIC , developed by Acorn Computers , incorporates extra structured programming keywords and floating-point features. As the popularity of BASIC grew in this period, computer magazines published complete source code in BASIC for video games, utilities, and other programs. Given BASIC's straightforward nature, it
6466-515: The SuperNova. Future versions of the system added a stack unit and hardware multiply/divide. The Nova 4 / Eclipse S/140 was based on four AMD 2901 bit-slice ALUs, with microcode in read-only memory , and was the first Nova designed for DRAM main memory only, without provision for magnetic-core memory . The first models were available with 8 K words of magnetic-core memory as an option, one that practically everyone had to buy, bringing
6588-403: The article prompted Microsoft to develop and release Small Basic ; it also inspired similar projects like Basic-256 and the web based Quite Basic. Dartmouth held a 50th anniversary celebration for BASIC on 1 May 2014. The pedagogical use of BASIC has been followed by other languages, such as Pascal , Java and particularly Python . Dartmouth College celebrated the 50th anniversary of
6710-467: The backplane, which was itself connected together using wire wrap . The larger-board construction also made the Nova more reliable, which made it especially attractive for industrial or lab settings. The new design used a simple load–store architecture which would reemerge in the RISC designs in the 1980s. Because the complexity of a flip-flop was being rapidly reduced as they were implemented in chips,
6832-461: The blink of an eye" even using a "slow" language, as long as large amounts of data were not involved. Many small business owners found they could create their own small, yet useful applications in a few evenings to meet their own specialized needs. Eventually, during the lengthy lifetime of VB3, knowledge of Visual Basic had become a marketable job skill. Microsoft also produced VBScript in 1996 and Visual Basic .NET in 2001. The latter has essentially
6954-515: The business-focused CP/M computers which soon became widespread in small business environments, Microsoft BASIC ( MBASIC ) was one of the leading applications. In 1978, David Lien published the first edition of The BASIC Handbook: An Encyclopedia of the BASIC Computer Language , documenting keywords across over 78 different computers. By 1981, the second edition documented keywords from over 250 different computers, showcasing
7076-458: The common set implemented by all of the Nova series processors. Specific models often implemented additional instructions, and some instructions were provided by optional hardware. All arithmetic instructions operated between accumulators. For operations requiring two operands, one was taken from the source accumulator, and one from the destination accumulator, and the result was deposited in the destination accumulator. For single-operand operations,
7198-420: The company had annual sales of US$ 100 million . Ken Olsen had publicly predicted that DG would fail, but with the release of the Nova it was clear that was not going to happen. By this time, a number of other companies were talking about introducing 16-bit designs as well. Olsen decided these presented a threat to their 18-bit line as well as 12-bit, and began a new 16-bit design effort. This emerged in 1970 as
7320-465: The core with read-only memory ; lacking core's read–write cycle, this could be accessed in 300 ns for a dramatic performance boost. The resulting machine, known as the SuperNOVA , was released in 1970. Although the initial models still used core, the entire design was based on the premise that faster semiconductor memories would become available and the platform could make full use of them. This
7442-472: The design modular for optional expansion, but the marketing department wanted to bundle some features, so the preliminary result was an integrated cassette tape drive . This was removed when, three months later, the first floppy drives appeared on the market which were a superior storage technology. Games magazine said in mid-1980, "APF's hardware is impressively solid in both design and performance, and if you're not ready to plunk down $ 600 , you can buy just
SECTION 60
#17327837113757564-625: The design of both the Xerox Alto (1973) and Apple I (1976) computers, and its architecture was the basis for the Computervision CGP (Computervision Graphics Processor) series. Its external design has been reported to be the direct inspiration for the front panel of the MITS Altair (1975) microcomputer. Data General followed up on the success of the original Nova with a series of faster designs. The Eclipse family of systems
7686-471: The design offset the lack of addressing modes of the load–store design by adding four general-purpose accumulators , instead of the single register that would be found in similar low-cost offerings like the PDP series. Late in 1967, Richman introduced the group to New York-based lawyer Fred Adler, who began canvassing various funding sources for seed capital. By 1968, Adler had arranged a major funding deal with
7808-489: The display with the message: Note that the END statement is optional and has no action in most dialects of BASIC. It was not always included, as is the case in this example. This same program can be modified to print a fixed number of messages using the common FOR...NEXT statement: Most home computers BASIC versions, such as MSX BASIC and GW-BASIC , supported simple data types, loop cycles, and arrays. The following example
7930-453: The emerging field quickly followed suit; Tymshare introduced SUPER BASIC in 1968, CompuServe had a version on the DEC-10 at their launch in 1969, and by the early 1970s BASIC was largely universal on general-purpose mainframe computers . Even IBM eventually joined the club with the introduction of VS-BASIC in 1973. Although time-sharing services with BASIC were successful for a time,
8052-523: The entire chipset to a single VLSI . This was offered in two machines, the microNOVA MP/100 and larger microNOVA MP/200 . The microNOVA was later re-packaged with a monitor in a PC-style case with two floppy disks as the Enterprise . Enterprise shipped in 1981, running RDOS , but the introduction of the IBM PC the same year made most other machines disappear under the radar. The Nova influenced
8174-493: The explosive growth of the microcomputer era. When IBM was designing the IBM PC , they followed the paradigm of existing home computers in having a built-in BASIC interpreter. They sourced this from Microsoft – IBM Cassette BASIC – but Microsoft also produced several other versions of BASIC for MS-DOS / PC DOS including IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (a BASICA-compatible version that did not need IBM's ROM) and QBasic , all typically bundled with
8296-543: The final version 6.0 of the original Visual Basic ended on March 31, 2005, followed by extended support in March 2008. Owing to its persistent remaining popularity, third-party attempts to further support it exist. On February 2, 2017, Microsoft announced that development on VB.NET would no longer be in parallel with that of C#, and on March 11, 2020, it was announced that evolution of the VB.NET language had also concluded. Even so,
8418-406: The first microcomputers in the mid-1970s was the start of explosive growth for BASIC. It had the advantage that it was fairly well known to the young designers and computer hobbyists who took an interest in microcomputers, many of whom had seen BASIC on minis or mainframes. Despite Dijkstra 's famous judgement in 1975, "It is practically impossible to teach good programming to students that have had
8540-460: The first computer that can let the user store new data on the same cassette as the application. BASIC BASIC ( Beginners' All-purpose Symbolic Instruction Code ) is a family of general-purpose , high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963. They wanted to enable students in non-scientific fields to use computers. At
8662-517: The first true minicomputer. He also led the design of the upgraded PDP-8/I, which used early integrated circuits in place of individual transistors. During the PDP-8/I process, de Castro had been visiting circuit board manufacturers who were making rapid advances in the complexity of the boards they could assemble. de Castro concluded that the 8/I could be produced using fully automated assembly on large boards, which would have been impossible only
8784-489: The first two were significant, thus it was possible to inadvertently write a program with variables "LOSS" and "LOAN", which would be treated as being the same; assigning a value to "LOAN" would silently overwrite the value intended as "LOSS". Keywords could not be used in variables in many early BASICs; "SCORE" would be interpreted as "SC" OR "E", where OR was a keyword. String variables are usually distinguished in many microcomputer dialects by having $ suffixed to their name as
8906-479: The game system (MP 1000) for $ 130 and decide later if you really want the computer component. But it's the whole system that's exciting. If what you want is just a video game, you may as well stick with Atari." Mechanix Illustrated in October 1980 called the system "one smart television that's inexpensive, completely programmable, and easy to use". The magazine praised its large RAM and ROM capacities, and called it
9028-880: The language was still supported. Many other BASIC dialects have also sprung up since 1990, including the open source QB64 and FreeBASIC , inspired by QBasic, and the Visual Basic-styled RapidQ , HBasic , Basic For Qt and Gambas . Modern commercial incarnations include PureBasic , PowerBASIC , Xojo , Monkey X and True BASIC (the direct successor to Dartmouth BASIC from a company controlled by Kurtz). Several web-based simple BASIC interpreters also now exist, including Microsoft's Small Basic and Google 's wwwBASIC. A number of compilers also exist that convert BASIC into JavaScript . such as NS Basic . Building from earlier efforts such as Mobile Basic , many dialects are now available for smartphones and tablets. On game consoles, an application for
9150-505: The language. How to design and implement a stripped-down version of an interpreter for the BASIC language was covered in articles by Allison in the first three quarterly issues of the People's Computer Company newsletter published in 1975 and implementations with source code published in Dr. Dobb's Journal of Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte . This led to
9272-514: The language. In the following years, as other dialects of BASIC appeared, Kemeny and Kurtz's original BASIC dialect became known as Dartmouth BASIC . New Hampshire recognized the accomplishment in 2019 when it erected a highway historical marker in Hanover describing the creation of "the first user-friendly programming language". The emergence of BASIC took place as part of a wider movement toward time-sharing systems. First conceptualized during
9394-568: The late 1950s, the idea became so dominant in the computer industry by the early 1960s that its proponents were speaking of a future in which users would "buy time on the computer much the same way that the average household buys power and water from utility companies". General Electric, having worked on the Dartmouth project, wrote their own underlying operating system and launched an online time-sharing system known as Mark I. It featured BASIC as one of its primary selling points. Other companies in
9516-403: The latter half of the 1980s, users were increasingly using pre-made applications written by others rather than learning programming themselves; while professional programmers now had a wide range of more advanced languages available on small computers. C and later C++ became the languages of choice for professional "shrink wrap" application development. A niche that BASIC continued to fill
9638-497: The line went through several upgrades over the next five years, introducing the 800 and 1200, the Nova 2, Nova 3, and ultimately the Nova 4. A single-chip implementation was also introduced as the microNOVA in 1977, but did not see widespread use as the market moved to new microprocessor designs. Fairchild Semiconductor also introduced a microprocessor version of the Nova in 1977, the Fairchild 9440 , but it also saw limited use in
9760-534: The linker to make EXE files, is present in the Windows NT and DOS- Windows 95 streams of operating systems and can be obtained for more recent releases like Windows 7 which do not have them. Prior to DOS 5, the Basic interpreter was GW-Basic . QuickBasic is part of a series of three languages issued by Microsoft for the home and office power user and small-scale professional development; QuickC and QuickPascal are
9882-409: The lower-cost system and then upgrade at any time. While Seligman was working on the SuperNOVA, the company received a letter from Ron Gruner stating "I've read about your product, I've read your ads, and I'm going to work for you. And I'm going to be at your offices in a week to talk to you about that." He was hired on the spot. Gruner was put in charge of the low-cost machine while Seligman designed
10004-509: The lower-numbered model has higher performance. Both models were offered in a variety of cases, the 1200 with seven slots, the 1210 with four and the 1220 with fourteen. By this time, the PDP-11 was finally shipping. It offered a much richer instruction set architecture than the deliberately simple one in the Nova. Continuing improvement in IC designs, and especially their price–performance ratio ,
10126-401: The machine ran about half the speed of the original Nova as a result. The first chip in the series was the mN601 , of 1977. This was sold both as a CPU for other users, a complete chipset for those wanting to implement a computer, a complete computer on a single board with 4 kB of RAM, and as a complete low-end model of the Nova. An upgraded version of the design, 1979's mN602 , reduced
10248-695: The machine. In addition they produced the Microsoft BASIC Compiler aimed at professional programmers. Turbo Pascal -publisher Borland published Turbo Basic 1.0 in 1985 (successor versions are still being marketed under the name PowerBASIC ). On Unix-like systems, specialized implementations were created such as XBasic and X11-Basic . XBasic was ported to Microsoft Windows as XBLite , and cross-platform variants such as SmallBasic , yabasic , Bywater BASIC , nuBasic , MyBasic , Logic Basic , Liberty BASIC , and wxBasic emerged. FutureBASIC and Chipmunk Basic meanwhile targeted
10370-677: The market. The Nova line was succeeded by the Data General Eclipse , which was similar in most ways but added virtual memory support and other features required by modern operating systems . A 32-bit upgrade of the Eclipse resulted in the Eclipse MV series of the 1980s. Edson de Castro was the Product Manager of the pioneering Digital Equipment Corporation (DEC) PDP-8 , a 12-bit computer widely referred to as
10492-461: The midst of a strike in the airline industry and the machine never arrived. They sent a second example, which arrived promptly as the strike had ended by that point, and in May the original one was finally delivered as well. The system was successful from the start, with the 100th being sold after six months, and the 500th after 15 months. Sales accelerated as newer versions were introduced, and by 1975
10614-444: The monthly newsletter, released on cassette tape or printout. The official game list is as follows: APF had planned on releasing a follow-up to the original M1000 Imagination Machine game console, but went out of business just before the console could go to market. No official specs have ever been released, although some former employees have mentioned that it was essentially the same M1000 core with typical upgrades. The impetus for
10736-510: The new ICs allowed the ALU to be expanded to full 16-bit width on the same two cards, allowing it to carry out math and logic operations in a single cycle and thereby making the new design four times as fast as the original. In addition, new smaller core memory was used that improved the cycle time from the original's 1,200 ns to 800 ns, offering a further 1 / 3 improvement. Performance could be further improved by replacing
10858-585: The original 101 BASIC games converted into the Microsoft dialect and published it from Creative Computing as BASIC Computer Games . This book, and its sequels, provided hundreds of ready-to-go programs that could be easily converted to practically any BASIC-running platform. The book reached the stores in 1978, just as the home computer market was starting off, and it became the first million-selling computer book. Later packages, such as Learn to Program BASIC would also have gaming as an introductory focus. On
10980-446: The other two. For Windows 95 and 98, which do not have QBasic installed by default, they can be copied from the installation disc, which will have a set of directories for old and optional software; other missing commands like Exe2Bin and others are in these same directories. The various Microsoft, Lotus, and Corel office suites and related products are programmable with Visual Basic in one form or another, including LotusScript , which
11102-416: The others through his contacts with DEC. At the time, Fairchild was battling with Texas Instruments and Signetics in the rapidly growing TTL market and were introducing new fabs that allowed more complex designs. Fairchild's latest 9300 series allowed up to 96 gates per chip, and they had used this to implement a number of 4-bit chips like binary counters and shift registers . Using these ICs reduced
11224-426: The release of VB version 3.0, which is widely considered the first relatively stable version. Microsoft also spun it off as Visual Basic for Applications and Embedded Visual Basic . While many advanced programmers still scoffed at its use, VB met the needs of small businesses efficiently as by that time, computers running Windows 3.1 had become fast enough that many business-related processes could be completed "in
11346-440: The same power as C# and Java but with syntax that reflects the original Basic language, and also features some cross-platform capability through implementations such as Mono-Basic . The IDE , with its event-driven GUI builder , was also influential on other rapid application development tools, most notably Borland Software 's Delphi for Object Pascal and its own descendants such as Lazarus . Mainstream support for
11468-450: The system cost up to $ 7,995. This core memory board was organized in planar fashion as four groups of four banks, each bank carrying two sets of core in a 64 by 64 matrix; thus there were 64 x 64 = 4096 bits per set, x 2 sets giving 8,192 bits, x 4 banks giving 32,768 bits, x 4 groups giving a total of 131,072 bits, and this divided by the machine word size of 16 bits gave 8,192 words of memory. The core on this 8K word memory board occupied
11590-452: The third of the default engines along with VBScript, JScript, and the numerous proprietary or open source engines which can be installed like PerlScript , a couple of Rexx-based engines, Python, Ruby, Tcl, Delphi, XLNT, PHP, and others; meaning that the two versions of Basic can be used along with the other mentioned languages, as well as LotusScript, in a WSF file, through the component object model, and other WSH and VBA constructions. VBScript
11712-484: The time, nearly all computers required writing custom software, which only scientists and mathematicians tended to learn. In addition to the programming language, Kemeny and Kurtz developed the Dartmouth Time-Sharing System (DTSS), which allowed multiple users to edit and run BASIC programs simultaneously on remote terminals. This general model became popular on minicomputer systems like
11834-407: The tiny main memory available on these machines, often 4 KB, a variety of Tiny BASIC dialects were also created. BASIC was available for almost any system of the era, and became the de facto programming language for home computer systems that emerged in the late 1970s. These PCs almost always had a BASIC interpreter installed by default, often in the machine's firmware or sometimes on
11956-459: The total IC count needed to implement a complete arithmetic logic unit (ALU), the core mathematical component of a CPU, allowing the expansion from an 8-bit design to 16-bit. This did require the expansion of the CPU from a single 15 by 15 inches (38 cm × 38 cm) printed circuit board to two, but such a design would still be significantly cheaper to produce than the 8/I while still being more powerful and ASCII-based. A third board held
12078-412: The widespread success predicted earlier was not to be. The emergence of minicomputers during the same period, and especially low-cost microcomputers in the mid-1970s, allowed anyone to purchase and run their own systems rather than buy online time which was typically billed at dollars per minute. BASIC, by its very nature of being small, was naturally suited to porting to the minicomputer market, which
12200-513: The world." The basic model was not very useful out of the box, and adding 8 kW ( 16 kB ) RAM in the form of core memory typically brought the price up to US$ 7,995 . In contrast, an 8/I with 4 kW ( 6 kB ) was priced at US$ 12,800 . The first sale was to a university in Texas, with the team hand-building an example which shipped out in February. However, this was in
12322-564: The year. Work on the first system took about nine months, and the first sales efforts started that November. They had a bit of luck because the Fall Joint Computer Conference had been delayed until December that year, so they were able to bring a working unit to San Francisco where they ran a version of Spacewar! . DG officially released the Nova in 1969 at a base price of US$ 3,995 (equivalent to $ 33,193 in 2023), advertising it as "the best small computer in
12444-469: Was HP Time-Shared BASIC , which, like the original Dartmouth system, used two computers working together to implement a time-sharing system. The first, a low-end machine in the HP 2100 series, was used to control user input and save and load their programs to tape or disk. The other, a high-end version of the same underlying machine, ran the programs and generated output. For a cost of about $ 100,000, one could own
12566-407: Was a simple matter to type in the code from the magazine and execute the program. Different magazines were published featuring programs for specific computers, though some BASIC programs were considered universal and could be used in machines running any variant of BASIC (sometimes with minor adaptations). Many books of type-in programs were also available, and in particular, Ahl published versions of
12688-443: Was almost RISC -like in its bit-efficiency; and an instruction that manipulated register data could also perform tests, shifts and even elect to discard the result. Hardware options included an integer multiply and divide unit, a floating-point unit (single and double precision), and memory management . The earliest Nova came with a BASIC interpreter on punched tape . As the product grew, Data General developed many languages for
12810-440: Was already available at the time, and RAM-less systems (i.e. with ROM only) became popular in many industrial settings. The original Nova machines ran at approximately 200 kHz , but its SuperNova was designed to run at up to 3 MHz when used with special semiconductor main memory. The standardized backplane and I/O signals created a simple, efficient I/O design that made interfacing programmed I/O and Data Channel devices to
12932-515: Was as simple as that." Kemeny and Kurtz had made two previous experiments with simplified languages, DARSIMCO (Dartmouth Simplified Code) and DOPE (Dartmouth Oversimplified Programming Experiment) . These did not progress past a single freshman class. New experiments using Fortran and ALGOL followed, but Kurtz concluded these languages were too tricky for what they desired. As Kurtz noted, Fortran had numerous oddly formed commands, notably an "almost impossible-to-memorize convention for specifying
13054-407: Was central. There was no stack register , but later Eclipse designs would utilize a dedicated hardware memory address for this function. The earliest models of the Nova processed math serially in 4-bit packets, using a single 74181 bitslice ALU . A year after its introduction, this design was improved to include a full 16-bit parallel math unit using four 74181s, this design being referred to as
13176-819: Was co-written by Bill Gates , Paul Allen and Monte Davidoff for their newly formed company, Micro-Soft. This was released by MITS in punch tape format for the Altair 8800 shortly after the machine itself, immediately cementing BASIC as the primary language of early microcomputers. Members of the Homebrew Computer Club began circulating copies of the program, causing Gates to write his Open Letter to Hobbyists , complaining about this early example of software piracy . Partially in response to Gates's letter, and partially to make an even smaller BASIC that would run usefully on 4 KB machines, Bob Albrecht urged Dennis Allison to write their own variation of
13298-542: Was due to their work with RAND Corporation , who had purchased a PDP-6 to run their JOSS language, which was conceptually very similar to BASIC. This led DEC to introduce a smaller, cleaned up version of JOSS known as FOCAL , which they heavily promoted in the late 1960s. However, with timesharing systems widely offering BASIC, and all of their competition in the minicomputer space doing the same, DEC's customers were clamoring for BASIC. After management repeatedly ignored their pleas, David H. Ahl took it upon himself to buy
13420-415: Was emerging at the same time as the time-sharing services. These machines had small main memory , perhaps as little as 4 KB in modern terminology, and lacked high-performance storage like hard drives that make compilers practical. On these systems, BASIC was normally implemented as an interpreter rather than a compiler due to its lower requirement for working memory. A particularly important example
13542-421: Was eroding the value of the original simplified instructions. Seligman was put in charge of designing a new machine that would be compatible with the Nova while offering a much richer environment for those who wanted it. This concept shipped as the Data General Eclipse series, which offered the ability to add additional circuitry to tailor the instruction set for scientific or data processing workloads. The Eclipse
13664-402: Was eventually canceled in the spring of 1968. Cancelation of the PDP-X prompted de Castro to consider leaving DEC to build a system on his own. He was not alone; in late 1967 a group of like-minded engineers formed to consider such a machine. The group included Pat Green, a divisional manager; Richard Sogge, another hardware engineer; and Henry Burkhardt III, a software engineer. In contrast to
13786-503: Was for hobbyist video game development , as game creation systems and readily available game engines were still in their infancy. The Atari ST had STOS BASIC while the Amiga had AMOS BASIC for this purpose. Microsoft first exhibited BASIC for game development with DONKEY.BAS for GW-BASIC , and later GORILLA.BAS and NIBBLES.BAS for QuickBASIC . QBasic maintained an active game development community, which helped later spawn
13908-419: Was heavily patterned on FORTRAN II; statements were one-to-a-line, numbers were used to indicate the target of loops and branches, and many of the commands were similar or identical to Fortran. However, the syntax was changed wherever it could be improved. For instance, the difficult to remember DO loop was replaced by the much easier to remember FOR I = 1 TO 10 STEP 2 , and the line number used in
14030-485: Was introduced later the same year as the SuperNOVA SC , featuring semiconductor (SC) memory. The much higher performance memory allowed the CPU, which was synchronous with memory, to be further increased in speed to run at a 300 ns cycle time (3.3 MHz). This made it the fastest available minicomputer for many years. Initially the new memory was also very expensive and ran hot, so it was not widely used. As
14152-620: Was later introduced with an extended upwardly compatible instruction set, and the MV-series further extended the Eclipse into a 32-bit architecture to compete with the DEC VAX . The development of the MV-series was documented in Tracy Kidder 's popular 1981 book, The Soul of a New Machine . Data General itself would later evolve into a vendor of Intel processor-based servers and storage arrays, eventually being purchased by EMC . There
14274-437: Was released in 1969. The Nova was packaged into a single 3U rack-mount case and had enough computing power to handle most simple tasks. The Nova became popular in science laboratories around the world. It was followed the next year by the SuperNOVA , which ran roughly four times as fast, making it the fastest mini for several years. Introduced during a period of rapid progress in integrated circuit (or "microchip") design,
14396-623: Was successful in competing with the PDP-11 at the higher end of the market. Around the same time, rumors of a new 32-bit machine from DEC began to surface. DG decided they had to have a similar product, and Gruner was put in charge of what became the Fountainhead Project. Given the scope of the project, they agreed that the entire effort should be handled off-site, and Gruner selected a location at Research Triangle Park in North Carolina . This design became very complex and
14518-437: Was such that textbooks once included simple "Try It In BASIC" exercises that encouraged students to experiment with mathematical and computational concepts on classroom or home computers. Popular computer magazines of the day typically included type-in programs . Futurist and sci-fi writer David Brin mourned the loss of ubiquitous BASIC in a 2006 Salon article as have others who first used computers during this era. In turn,
14640-445: Was that Signetics had introduced the 8260, a 4-bit IC that combined an adder, XNOR and AND, meaning the number of chips needed to implement the basic logic was reduced by about three times. Another was that Intel was aggressively talking up semiconductor-based memories, promising 1024 bits on a single chip and running at much higher speeds than core memory. Seligman's new design took advantage of both of these improvements. To start,
14762-406: Was the Nova 2 , with the first versions shipping in 1973. The Nova 2 was essentially a simplified version of the earlier machines as increasing chip densities allowed the CPU to be reduced in size. While the SuperNOVA used three 15×15" boards to implement the CPU and its memory, the Nova 2 fitted all of this onto a single board. ROM was used to store the boot code, which was then copied into core when
14884-419: Was ultimately canceled years later. While these efforts were underway, work on the Nova line continued. The 840, first offered in 1973, also included a new paged memory system allowing for addresses of up to 17-bits. An index offset the base address into the larger 128 kword memory. Actually installing this much memory required considerable space; the 840 shipped in a large 14-slot case. The next version
#374625