Misplaced Pages

Casio BASIC

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Casio BASIC is a programming language used in the Casio calculators such as the ClassPad , PRIZM Series , fx-9860G Series , fx-5800P, Algebra FX and CFX graphing calculators . It is also known as "BasicLike" in some models.

#139860

118-490: This programming language has nothing to do with the more or less standard BASIC, which incorporated from the beginning of the 80s, the so-called "Pocket computers" or "Pocket PC" from Casio, among which the FX series can be found. -702P, Series 100 (PB-100), Series 700 (PB-100), and many others. The version of BASIC of these machines is called Casio POCKETPC BASIC The language is a linear structured, BASIC -based programming language. It

236-554: A jump instruction . There is no stack for subroutines; instead, the first memory location of the routine is reserved, and the return address written to that location by the JSB instruction. This means there is no internal support for re-entrant code; support for this has to be added via a user-implemented stack. There are three basic styles of instructions in the ISA; memory references, register references, and input/output. Certain models extended

354-519: 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

472-754: A switched-mode power supply allowed the chassis to be significantly smaller than the earlier models. By 1972, HP had shipped 4,500 minis, making it one of the largest companies in the market. That year, they merged the Mountain View Division, which made magnetic tape drives, with the Cupertino Division to create the Data Systems Division (DSD). By this time, the HP 3000 project was in serious trouble, and in February 1973, Packard sent Paul Ely to take over

590-519: 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

708-742: 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

826-564: A 0 in bit 15. In addition to the Direct/Indirect mode, bit 10 of the instruction controls the Z/C flag. When set to 0, this means the address's upper five bits were zero while the lower 10 were the value in the instruction. This allows fast access to the Z(ero) page, the first 1,024 words of memory. When set to 1, the address is constructed by combining the 10 bits in the instruction to the top 5 bits of

944-619: A 2114-like form factor. At the time they made this decision, 4kbit SRAMs were not actually available, so experimental machines using the core from a 2100 series were used initially, replaced by 1kbit SRAM. At first it appeared 4k parts would not be available by the time the rest of the machine had been upgraded, so the company canvassed various manufacturers and found that a few were aggressively developing 4k parts. In particular, Intel , Mostek , Motorola , and Texas Instruments were all suggesting such parts would be available in quantity by late 1974. Using such memories in an expansion chassis like

1062-669: 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

1180-472: 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

1298-1078: A building purchased from Varian Associates , becoming the Cupertino Division. Led by Magleby, the new division completed the design as the 2116A, which was demonstrated 7–10 November 1966 at the Joint Computer Conference in San Francisco. It was one of the earliest 16-bit minis to hit the market, but at the time it was more notable as "an unusual new instrumentation computer" with a highly expandable design and real-time support. The system featured an oversized cabinet that held up to 16 expansion cards, or could be further expanded to 48 cards with an external expansion cage. The system launched with 20 different instrumentation cards, including "counters, nuclear scalers, electronic thermometers , digital voltmeters , ac/ohms converters, data amplifiers, and input scanners." An additional set added input/output devices like tape drives , printers, punched cards , and paper tape , and other peripherals. Real-time service

SECTION 10

#1732884228140

1416-446: A computer (via USB cable ). All new models of Casio graphing calculators have both ports and include both cables. The Casio calculators, as with those of many of the other big three manufacturers' machines, can acquire data from instruments via a data logger to which probes for temperature, light intensity, pH , sound intensity ( dBA ), voltage and other electrical parameters, as well as other readings, and custom probes to attach to

1534-584: A computer company, HP Labs manager Barney Oliver replied, "We didn't demand an answer to that question." Bill Hewlett initially refused to consider the development of a "minicomputer", but when Packard reframed it as an "instrument controller" the deal was approved. DSI was purchased in 1964 and initially set up at Dymec with four of the original five employees of DSI and a number of other employees coming from HP's instrumentation divisions. The computer group later moved to its own offices in Cupertino, California , in

1652-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

1770-559: A development shop for projects the main company would not normally undertake. Their original logo was simply the HP logo turned upside down, forming something approximating "dy" and thus inspiring the name. Learning that Westinghouse owned a trademark on that name, in 1958 they changed it to Dymec. The company was brought in-house in 1959 to become the Dymec Division, and in November 1967 was renamed

1888-453: A front panel. The new L and A series models had HP-IB interface ability, but as with all HP systems at that time, the blinking LED lights were removed from the front panel. Despite customer demands for a real-time ability and HP R&D's efforts using an installable real-time card, the RTE-A OS was not as good at real-time operations as RTE on a 21MX. This was an important reason this computer

2006-426: A hardwired CPU: In November 1968 the company released the 2000A Timeshare System, later known as HP 2000/Access. This was based on the 2116B (a 2116A with an expanded 8k core memory) running HP Time-Shared BASIC and used a separate 2114 as a terminal server . T-S BASIC allowed multiple user accounts to be created with up to 16 users logged in at once. Later models of the 2000, B through F, used newer versions of

2124-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;

2242-411: A lower-cost offering for commercial users. A further simplified version shipped as the 2114A in 1968, which had only eight slots, leaving room for the power supply to be incorporated into the main chassis. The 2115 and 2114 also lacked the extensive DMA control of the 2116, removed some of the mathematical operations, and ran at slightly slower speeds. These are the original models using core memory and

2360-410: 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

2478-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

SECTION 20

#1732884228140

2596-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

2714-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

2832-421: A single sense/inhibit line , they fit an 8 kW memory onto a single expansion card. This was used starting in the 2116C models. In 1971, the updated 2100A replaced the entire existing 211x lineup. The overall system was similar to the earlier models and continued to be based on core memory. Physically, it most resembled the 2114, as the power supply was built-in and it had limited internal expansion. However,

2950-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

3068-463: A single machine, while the higher density system based on 16-pin Mostek parts could be supported by replacing the normal 21-X/2 controller with the 21-X/1. The entire 2100 series was replaced in 1974 with the first of these 21MX series machines. Using the highest-density parts, the new machines could support up to 1.2 MB in the largest models. When the CPU was further upgraded in 1976, the new models became

3186-408: A single memory word, which, used properly, can significantly speed operations. A total of 39 register operations are included, which are broken down into shift-and-rotate instructions, and the alter-and-skip instructions, indicated by bit 10, while bit 11 indicates whether this is being applied to register A or B. There are two general classes of register instructions, the shift-and-rotate group and

3304-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

3422-556: 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:

3540-554: 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

3658-424: 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 the time, nearly all computers required writing custom software, which only scientists and mathematicians tended to learn. In addition to

Casio BASIC - Misplaced Pages Continue

3776-406: Is handled in the two A and B registers, each 16 bits wide. The registers are also accessible at memory locations 0 and 1, respectively. This means that one can load a value into an accumulator using the normal register-save operation, for instance, LDA 1 will LoaD the value of the A register into memory location 1, thereby copying the value of A into B. In addition to the A and B registers,

3894-404: Is not masked out by a higher-priority interrupt, 1 to 12. Another key feature of the 2100 series is a separate direct memory access controller that uses cycle stealing to access memory when the CPU is not using it, during the times when it is performing internal calculations for instance. Using this feature, lengthy I/O processes can be completed while the CPU works on other problems. The system

4012-571: 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

4130-517: Is set up by sending an instruction to the DMA controller using the I/O commands; the DMA controller is channel 6, and is initially sent an instruction containing the number of the I/O device that wants to use DMA, whether it is an input (write to memory from device) or output (read from memory to device), the starting location in memory for the data, and the number of words. This setup code is often installed into one of

4248-452: Is set, this indicates "indirect" addressing instead of "direct". In Direct mode, the address in the instruction is the address of the operand, while in Indirect mode, the address was a pointer to another memory location that contained the address of the operand. One could set bit 15 on that location as well, allowing the indirection to be of any required depth, ending when one of the locations has

4366-487: 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

4484-423: Is written for GW-BASIC, but will work in most versions of BASIC with minimal changes: The resulting dialog might resemble: HP2000 The HP 2100 is a series of 16-bit minicomputers that were produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s. Tens of thousands of machines in the series were sold over its twenty-five year lifetime, making HP the fourth largest minicomputer vendor during

4602-504: 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

4720-477: 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 the tiny main memory available on these machines, often 4 KB, a variety of Tiny BASIC dialects were also created. BASIC

4838-523: 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

Casio BASIC - Misplaced Pages Continue

4956-522: 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

5074-943: 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

5192-409: The status register . Additionally, there is the 16-bit S/D (Switch/Display) register, which is used for input and output from the front panel. Certain areas of memory are reserved for special purposes, like locations 0 and 1 used by the accumulators. Additional words in the lowest 64-locations in memory are used for direct memory access (DMA), and vectored interrupts (see below). In later models,

5310-515: The "21MX E-Series" and the original models retroactively became the "21MX M-Series". The main difference between the M and E was that the E used clever timing to improve the speed to about twice that of the M. A wider variety of machine styles were released as part of the 21MX series, including smaller systems with four slots and larger ones with 9 or 14 slots. The 21MX series featured a memory management unit and semiconductor memory expandable to 1,048,576 words (one megaword ). The bit displays on

5428-515: The 10 least significant bits are the "displacement" pointing to a single word within the 1,024-word page. With the DMS system in the 21MX series, the upper 5 bits are instead used to select one of 32 registers, each of which holds 12 bits. The least significant 10 bits of the register are then placed in front of the original 10-bit displacement to produce a 20-bit address. The two most significant bits are used to implement memory protection . Most processing

5546-486: 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

5664-455: The 1970s. The design started at Data Systems Inc (DSI), and was originally known as the DSI-1000. HP purchased the company in 1964 and merged it into their Dymec division. The original model, the 2116A built using integrated circuits and magnetic-core memory , was released in 1966. Over the next four years, models A through C were released with different types of memory and expansion, as well as

5782-423: The 1974 introduction of the first of the 21MX series machines. This stood for the "21-M" processor and the "21-X" memory, as the memory control systems were separated from the CPU in order to provide flexibility in case the chosen 4k parts were changed during production. This proved useful in practice as the machines were shipped with memories using either Motorola or Texas Instruments parts, and they could be mixed in

5900-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

6018-459: The CPU also includes the M register which holds the current memory address, and the T register which holds the value at that address. The P register is used as the program counter and automatically incremented with every instruction, but it is also used as the base address for some memory accesses (see below) that are calculated and placed in M. There are also two one-bit registers, Overflow and Extend, in modern terms, these bits would be considered

SECTION 50

#1732884228140

6136-423: The CPU was rebuilt with microcode that could be user-programmed, added hardware multiply and divide, and it added a simple memory protection system, which caused a high-priority interrupt when triggered. A two-channel DMA controller provided higher throughput. An optional floating-point unit was also available. Front panel buttons were illuminated by small incandescent lamps that burned out with use. The use of

6254-429: The CPU. Although this made the expansion cards incompatible with the earlier models for the first time, it also greatly improved overall performance. These models lacked the memory management unit. The L-Series was, in turn, replaced in 1982 with the "HP 1000 A-Series", which included a new "Lightning" CPU design that reached 1  MIPS , and the even faster "Magic" CPU at 3 MIPS. A wide variety of different models

6372-501: 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

6490-494: 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

6608-532: The Flag bit with STF and then setting the C bit using STC . The hardware notices this pattern and begins its operation. When the operation is complete, the device sets the Flag bit and then the program loads the resulting data from the card using the LI* instruction, or sends it to the card with OT* . The actual data transfer is normally accomplished using the interrupt system. Memory locations 4 through 63 (decimal) hold

6726-447: The ISA with add-on hardware, adding, for instance, floating point instructions or additional integer math and memory instructions, but these would fall into the same three basic categories. Memory instructions use four bits for the instruction, and two more for special flags, for a total of six bits of the 16-bit word. This leaves room for a 10-bit address in the instruction, stored in the least significant bits (LSBs), 0 to 9. If bit 15

6844-474: The P register, the C(urrent) page of memory, allowing memory to be accessed as 32 pages of 1024 words. Thus 2,048 words can be addressed at any given time; 1,024 of them within page zero and another 1,024 within the same page as the instruction performing the reference. Register instructions do not require an address, and thus have more free bits to work with. This is used to pack up four or eight instructions into

6962-497: The Palo Alto Division. Dymec originally made a variety of products for the HP family, but over time became primarily an integrator, building test equipment and similar systems that were used by HP. In 1964, Kay Magleby and Paul Stoft began experimenting with the use of PDP-5 and PDP-8 computers to act as controllers for their complex test systems, but they felt the machines would require changes to truly suit their needs. At

7080-619: 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

7198-464: The accumulators. The instruction format starts with the bits "1000" in the most significant bits, followed by a single bit indicating which register to use (A=0, B=1), followed by a "1", the H/C flag bit, and then three bits for the instruction and the remaining six bits for the I/O device ID, or channel, allowing up to 64 devices. Some device numbers are used by the system itself. I/O is initiated by clearing

SECTION 60

#1732884228140

7316-445: The addresses of routines to jump to when an interrupt is fired, providing 60 interrupt levels. Location 4 through 7 are hard-wired to power failures, parity check errors, and in later models memory protection errors. Locations 8 and up are user-accessible interrupt vectors, mapped to an I/O channel and arranged in priority order. So if I/O device 13 produced an interrupt, the CPU jumps to the location in memory location 13, but only if it

7434-460: The alter-and-skip. The first is used for basic bitwise manipulation of the values in a register and can have up to four instructions per word, although the two instructions in the middle are always a CLE,SLA/B (clear E, skip if A/B is zero). The second group has eight instructions that perform increments on the registers and then a conditional branch. These are normally used to implement loops. Input/Output instructions normally communicate through

7552-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

7670-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

7788-505: 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

7906-500: The cost-reduced 2115 and 2114 models. All of these models were replaced by the HP 2100 series in 1971, and then again as the 21MX series in 1974 when the magnetic-core memory was replaced with semiconductor memory. All of these models were also packaged as the HP 2000 series, combining a 2100-series machine with optional components in order to run the BASIC programming language in a multi-user time sharing fashion. HP Time-Shared BASIC

8024-446: The data logger can be built and configured for use with the data logger and calculator. Existing instruments can also be modified to interface with the calculator-data logger, in order to collect such data including such things as weather instruments and means of collecting data such as pulse, blood pressure, galvanic skin resistance , EKG and so on. Like Tiny BASIC , the BASIC interpreter for Casio BASIC restricts variable names to

8142-486: 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

8260-450: The division. Sales of the 2100 series remained strong; the 6000th shipped in August 1973, the 8000th in February 1974, and its 10,000th in February 1975. They were declared obsolete in 1978. In 1972, the division decided to move to 4kbit SRAM memory chips in place of core. These were about twice as fast as contemporary low-cost core, and much smaller, allowing 32kword machines to be built in

8378-414: The earlier systems meant there was room for much more memory, into the megaword range. However, the CPU's use of 15-bit addresses limited the size to 32kwords. To address the desire for larger systems, HP developed the "Dynamic Mapping System", or DMS. DMS expanded the address format from 15 to 20 bits, allowing a maximum of 1,048,576 words, a dramatic expansion of the original system. These changes led to

8496-449: 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,

8614-541: 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

8732-536: 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,

8850-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

8968-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

9086-470: The front panel buttons used small red light-emitting diodes (LEDs), instead of the burnout-prone incandescent bulbs used in earlier versions. The 21MX ran the HP RTE (real time) operating system (OS). They started out as refrigerator-sized 19-inch rackmount systems with lights and switches on the front panels. The last models would use a 1-chip processor and fit under a desk using a console terminal rather than

9204-498: The highest 64 words of available memory are reserved for the boot loader . The original instruction set contained 68 or 70 instructions. All 68 instructions in the standard instruction set are 16 bits long. Most execute in one memory cycle, or 16 clock cycles, although indirect addressing and the ISZ can use up to 36 cycles. Conditional branching is done with a conditional skip-over-one instruction, that one instruction normally being

9322-403: The interrupt vectors, automating the process. The DMS has separate tables for the CPU and DMA system, so DMA can load data into separate parts of extended memory. HP supplied a three-pass assembler for the machine, using a column-delimited format. The first area, on the left of the line of code, is the label, which has to start in column 1 if present. Next comes the instruction mnemonic, then

9440-567: The language can also be used to create games, such as Pong , Monopoly and role-playing games . Additionally, characters can be stored as strings in the string memory. Hello world program in Casio BASIC: Program to calculate the Fibonacci sequence : Program to calculate the Pythagorean theorem : BASIC BASIC ( Beginners' All-purpose Symbolic Instruction Code )

9558-869: 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

9676-498: 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

9794-509: 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

9912-563: 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

10030-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

10148-663: The letters A-Z with just one predefined array (in Casio BASIC, Z, as compared to A in Level I BASIC and @ in Palo Alto Tiny BASIC). For Casio's graphical calculators, italic x , y , r and θ are also used as variable names for certain calculations. Therefore, extending the array size of predefined variable names from 26 to 30. Numerical data can be stored in the lists and matrices available on Casio calculators. This data can be used to create sprites for non-text programs. In this way,

10266-524: 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

10384-685: 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

10502-580: 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

10620-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

10738-541: 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 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

10856-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

10974-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

11092-469: The success of the line had propelled HP to become the fourth largest manufacturer in the minicomputer space, trailing only DEC, IBM , and Data General . In 1980, the "HP 1000 L-Series" was introduced. This used a new processor based on HP's large-scale integration silicon on sapphire process. Additionally, the expansion cards were also equipped with their own processors that allowed them to access main memory and conduct input/output without bothering

11210-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

11328-409: The time, Digital Equipment Corporation (DEC) was still a small company and a takeover target. David Packard found Ken Olsen too difficult to deal with, and such plans went nowhere. Looking for another design they could purchase, Packard was led to the five-person Data Systems, Inc. (DSI) of Detroit. DSI was owned by Union Carbide , and when Packard asked how it was that Union Carbide came to own

11446-585: The underlying CPU as they were introduced. Some models used low-end versions of the same CPU as the terminal server; the 2000F, for instance, used a 2100S as the main CPU and primary storage controller, while a 2100A acted as the terminal server. The B, C & F models were dual-processor. In the last version, the 2000F, a 2100S and 2100A CPU were used, with the 2100A connected to up to 32 serial terminals via serial multiplexer interfaces. In spite of its relatively high costs – the 2000F cost $ 105,000 in 1974, or about $ 649,000 in 2023 – it

11564-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

11682-422: 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

11800-451: Was Mike Mayfield's Star Trek of 1971. Its popularity made its dialect of BASIC a lingua franca and many BASIC listings were normally provided in that format; the People's Computer Company published their programs in HP 2000 format. HP systems were also used for teaching statistics, regression analysis , and economics. The 2000 and 2100 designations have been reused: The HP 2100

11918-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

12036-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

12154-714: 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 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

12272-805: 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

12390-477: Was designed in an era when RAM in the form of magnetic core memory was falling from dollars to pennies per bit, while implementing processor registers using transistors or small-scale integration remained very expensive. This favored designs with few registers and most storage in RAM, which in turn influenced the instruction set architecture (ISA) to use a memory-memory or memory- accumulator design. This basic concept

12508-531: Was devised to allow users to program in commonly performed calculations, such as the Pythagorean theorem and complex trigonometric calculations. Output from the program can be in the form of scrolling or located text, graphs, or by writing data to lists and matrices in the calculator memory. Casio also makes label printers which can be used with rolls of paper for the Casio BASIC calculators. Programs, variables, data, and other items can be exchanged from one calculator to another (via SB-62 cable) and to and from

12626-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

12744-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

12862-435: Was first widely introduced in the seminal 12-bit PDP-8, which spawned many similar designs like the 2100. In the 2100, addresses are 15-bits long, allowing a total of 32k 16-bit words of memory (64 KB in modern terms). The smallest addressable unit of memory is a 16-bit word; it has no instructions that fetch a single 8-bit byte. The address is broken into two parts, the 5 most significant bits refer to one of 32 "pages", while

12980-499: 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

13098-439: Was hard to kill. Many companies use real-time operations to take a measurements and control processes – turn on or off a pump, heater, a valve, speed up or slow down a motor, etc. At the end of 1977, the entire line was renamed as the "HP 1000", becoming the "HP 1000 M-Series" and "HP 1000 E-Series". The next year the "HP 1000 F-Series" was introduced, which was an E-Series with an added floating point unit. By 1978,

13216-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

13334-470: Was introduced in 1979 as the 1000 L-Series , using CMOS large scale integration chips and introducing a desk-side tower case model. This was the first version to break backward compatibility with previous 2100-series expansion cards. The final upgrade was the A-series , with new processors capable of more than 1 MIPS performance, with the final A990 released in 1990. HP formed Dynac in 1956 to act as

13452-479: Was popular in the 1970s, and many early BASIC programs were written on or for the platform, most notably the seminal Star Trek that was popular during the early home computer era. The People's Computer Company published their programs in HP 2000 format. The introduction of the HP 3000 in 1974 provided high-end competition to the 2100 series; the entire line was renamed as the HP 1000 in 1977 and positioned as real-time computers . A greatly redesigned version

13570-426: Was produced, including desk-side towers, and a variety of different size rack-mount systems. A low-end A400 model was introduced in 1986, and the final high-end A990 released in 1990. Each addressable up to 32 MB of RAM. The HP 2000 series was introduced in 1969, sold until June 1978, and was supported until 1985. Versions of many seminal BASIC games were written on, or ported to, the platform. Notable among these

13688-420: Was provided by having each card slot be assigned a fixed interrupt vector that called the appropriate device driver . As the machine entered the market, it quickly became clear it was selling much more rapidly into the business data processing market than the originally targeted instrumentation market. This led to the introduction of the 2115A in 1967, which removed much of the expansion capabilities to make

13806-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,

13924-517: Was the first minicomputer to offer time-shared BASIC, which made it very popular in the early-to-mid 1970s. Through the 1970s, the lineup was constantly improved with new models that remained compatible in software and expansion with the original 2116. In early 1970, Fred Allard, formerly of Ampex 's Memory Core Division, was asked to design a new magnetic-core memory system for the systems rather than continue purchasing them from Ampex. Using newer 18  mil cores, down from 22 mil, and using

#139860