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 > Beta BASIC

Games - Beta BASIC


Beta BASIC was a BASIC interpreter for the Sinclair Research ZX Spectrum
microcomputer, written by Dr Andy Wright and sold by his one-man software house BetaSoft. BetaSoft also produced a regular newsletter/magazine, BetaNews, which was one of the main fora of the time for advanced Spectrum BASIC programmers.

Originally it started as a BASIC toolkit but over time it grew into an interpreter in its own right.

Operation

It ran as a terminate and stay resident program, completely replacing Sinclair BASIC
. As with most micros of the 1980s, the Spectrum's BASIC interpreter was also its operating system, providing the command line interface (CLI), the on-screen program editor and everything else. It was the sole means of operating and controlling the computer.

Facilities

Beta BASIC provided a new and improved CLI and editor. It supported Sinclair's idiosyncratic single-key entry system for BASIC keywords but also allowed keywords to be spelled out letter-for-letter, which was quicker if the user had fitted a full-size full-travel keyboard to their machine, a very popular modification for serious users. This also removed the necessity for memorising the sometimes arcane key combinations necessary to enter less-commonly-used BASIC keywords and made it possible to enter Beta BASIC's new keywords, such as DEF PROC, which were naturally not present on the Spectrum keyboard. To switch from keyword entry to typed entry, it was merely necessary to type a single space; the cursor changed from Sinclair's flashing or to an or to denote whether lowercase or capital letters would be produced. This was a much simpler, more elegant & less intrusive change than Sinclair's own full-screen editor for the Spectrum 128.

Another nicety was that the editor, when listing, could optionally automatically prettyprint code. It was possible to do this manually in Sinclair BASIC, but automatic indentation has the advantage of highlighting certain types of coding error - primarily those to do with failing to correctly close constructs. Other editing improvements included automatic highlighting of the current-line indicator - a small tweak but disproportionately helpful - and the ability to move the cursor up and down as well as left and right, a huge boon when editing long lines. Combined with the 64-column display, these improvements made Beta BASIC a much more productive environment even for coding standard Sinclair BASIC and making no use of BetaSoft's language additions.

Beta BASIC was also a BASIC interpreter in its own right, completely replacing and bypassing the Spectrum ROM, which it used as a library. It occasionally made calls into the ROM to access useful functions which it was not worth re-implementing in Beta BASIC itself, either because the ROM routines were good enough or for reasons of space - Beta BASIC had to run in the meagre 48kB of memory available on a Spectrum and still leave room for the user's code.

Language changes

For its time, Beta BASIC was astonishingly sophisticated. It provided full structured programming with named procedures and functions, complete with local variables, allowing for programming using recursion. Although it supported line numbers, they were not necessary and it offered a mode of operation which completely suppressed the display of line numbers. It provided array operations and commands for accessing files on tape and disk.

In terms of facilties, it exceeded every other available 8-bit BASIC of the 1980s and in some ways approached the capabilities of Microsoft
's QuickBASIC
4.5 compiler or QBASIC intepreter, which were programs for far more sophisticated 16-bit computers a decade later.

On the 128K Spectrum machines, Beta BASIC provided extended facilities allowing programmers to access the machine's extra memory, which took the form of a RAM disk. As well as allowing the programmer to save and load programs, blocks of memory or screen images into the RAM disc and catalogue the contents of the RAM disk, Beta BASIC also provided commands for the creation and use of arrays held in the RAM disk, allowing programs running in the 30kB or so of free memory on the Spectrum to manipulate arrays of approaching 80kB - a very significant extra amount of space by 1980s standards and more than almost any other 8-bit BASIC, which were generally limited to 64kB of program and data combined.

New functionality

Beta BASIC also drove the Spectrum's 256x192 pixel display directly, eliminating the restrictions of the ROM's 32-column text display. Beta BASIC offered scalable screen fonts, with a special soft font which was only 4 pixels wide but still highly legible. This meant that Beta BASIC could display 64 columns of text across the screen, quite competitive with newer 8-bit machines' 80-column screens. If the user was prepared to tolerate characters being displayed without gaps between them, an 85 column display was possible. This was not very readable but did allow easy porting of BASIC applications designed for an 80-column screen. Text size could be controlled programmatically so that part of a program's display might use 64-column text, part 32-column text and enlarged or reduced intermediate sizes.

[ Visit the complete Wikipedia entry for Beta BASIC ]


Searches on eBay

Some related entries: Cooperative board game | DOSBox | Wikipedia:Pokémon Collaborative Project | Pyramid Head | Early Arabic chess literature | Kill Doctor Lucky | Magnum Light Phaser | Dahrumasan ga koronda | Midway Austin | Slige | Honinbo Shusaku

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