From collectibles to cars, buy and sell all kinds of items on eBay
home | pay | site map
Shop for itemsSell your itemTrack your eBay activitiesLearn, connect, and stay informed-for business and for funGet help, find answers and contact Customer SupportAdvanced Search
Home > Listing Index > Games > MBASIC

Games - MBASIC


MBASIC is the Microsoft BASIC
implementation of the BASIC programming language for the CP/M operating system on the 8-bit Intel 8080 processor. MBASIC is a descendant of the original Altair BASIC
interpreters that were among Microsoft's first products. MBASIC was one of the two versions of BASIC bundled with the Osborne 1
computer. The name "MBASIC" is derived from the disk file name of the BASIC interpreter.

Environment

MBASIC version 5 required a CP/M system with at least 28 kB of random access memory (RAM) and at least one diskette drive.

Unlike versions of Microsoft BASIC-80 that were customized by home computer manufacturers to use the particular hardware features of the computer, MBASIC relied only on the CP/M operating system calls for all input and output. Only the CP/M console (screen and keyboard), line printer, and disk devices were available.

MBASIC in the uncustomized form had no functions for graphics, color, joysticks, mice, serial communications, networking, sound, or even a real-time clock function. MBASIC did not fully support the features of the host CP/M operating system, for example, it did not support CP/M's user areas for organizing files on a diskette. Since CP/M systems were typically single-user and stand alone, there was no provision for file or record locking, or any form of multitasking. Apart from these limitations, MBASIC was considered at the time to be a powerful and useful implementation of BASIC.

Features

MBASIC was an interpreter. Program source text was stored in memory in tokenized form, with BASIC keywords replaced by one-byte tokens which saved memory space and speeded execution. Programs could be listed on the screen for editing, or saved to disk in either a compressed binary format or as plain ASCII text. Every source line was identified with a number, which could be used as the target of a GOTO transfer. Only on-screen line editing commands were provided - no full-screen cursor-addressing editing was available owing to the limitations of support in the host operating system.

Program text, variables, disk buffers and the CP/M operating system itself all had to share the 64 kilobyte address space of the 8080 processor. Typically when first starting MBASIC there would be less than 32 kB memory available for programs and data, even on a machine equipped with a full 64 kilobytes of RAM. To allow larger and more complex programs to be run, later versions of MBASIC supported functions that allowed portions of program text to be read in and executed under program control (the "CHAIN" and "MERGE" statements). No support for "shell" command execution was provided, though this functionality could be duplicated by a determined programmer.

Data could be read and stored to disk as either sequential files (delimited by the CP/M convention of CR/LF at the end of each line) or else as fixed-record-length random access files, which, given a sufficiently determined programmer, could be used to perform database-type record manipulation. The binary format for floating point numbers was proprietary to the implementation, which meant that data could only be interchanged with other programs using ASCII text representation or else with extensive programming to convert the binary format.

MBASIC supported the following data types:
  • 8-bit character data, in strings of length 0 to 255 characters,
  • 16-bit integers,
  • 32-bit floating point (single precision),equivalent to six decimal digits, with a two-digit exponent,
  • 64-bit floating point (double precision),equivalent to sixteen decimal digits, with a two-digit exponent.
String operators included substring selection, concatenation, assignment, and testing for equality.

Arrays of the above types were allowed with up to 7 dimensions, but no functions were provided that operated on arrays (for example, no assignment of arrays).

Unlike some other BASIC implementations of the time, MBASIC did not provide support for matrix operations, complex numbers, or a decimal (BCD) data type for financial calculations.

All floating point operations were carried out in software since typically CP/M systems did not have hardware for floating point. The built-in mathematics functions (sine, cosine, tangent, natural log, exponential, square root)only gave single precision results. A software pseudorandom number generator was provided; this relied on the user to key in a seed number to obtain a sequence of numbers useful for games and some simulations.

A particular advantage of MBASIC was the full-text error messages provided for syntax and run-time errors. MBASIC also had a "trace" function that displayed line numbers as they were executed; while this occupied the same screen space as normal program output, it was useful for detecting conditions such as endless loops.

[ Visit the complete Wikipedia entry for MBASIC ]


Searches on eBay

Some related entries: Georgia | Aladdin, Las Vegas | Dancing Stage Fever | XYZZY Award for Best Individual Puzzle | Twilight 2000 | Gedo Kusaregedo | Kraft | Shandalar | Sons of Korhal | Arbiter | Donkey Kong cameos

eBay Pulse | eBay Reviews | eBay Stores | Half.com | Kijiji | PayPal | Popular Searches | ProStores | Rent.com | Shopping.com
Australia | Austria | Belgium | China | France | Germany | India | Italy | Spain | United Kingdom

About eBay | Announcements | Security Center | Policies | Site Map | Help