Last updated
ToBoS-FP on compact cassette TOBOS-FP compact casette.jpg
ToBoS-FP on compact cassette

ToBoS-FP is a floating point compiler for the Sinclair BASIC on ZX Spectrum. The name stands for Toruń, Jerzy Borkowski, Wojciech Skaba, Floating Point. The compiler was released in Poland in 1986. [1] Source code compilation enables substantial (20+ [2] ) speed up of execution of programs that are normally interpreted. The acceleration results mostly from the utilization of compiler's own floating point arithmetic library [3] and graphics library that replace the ZX Spectrum built-in routines. In a 1992 independent survey, ToBoS-FP was named the most popular of all known BASIC compilers for the ZX Spectrum. [4] It is still referred to as one of the best BASIC compiler for ZX Spectrum. [5]



ZX Spectrum is factory equipped with a Sinclair BASIC editor and interpreter that enables immediate program execution without a compilation pass and not consuming memory for the compiled code. This comes, however, at the price of execution speed. A number of integer and floating point compilers have been released since (e.g.: HiSoft Basic , HiSoft Colt , Softek IS/FP , MCoder , ZIP Compiler , Boriel ZX Basic , Blast ). Unfortunately, the Sinclair BASIC enables programming constructs that are hard or even impossible to be compiled (e.g.: GO TO line number which is an expression calculated at runtime). Thus compatibility between the interpreter and a compiler is an issue.


The compiler was written in Z80 assembler. There are two main sources of compiled code execution acceleration:

In order to achieve a substantial speed up, a shorter floating point number format has been applied, one that is close to single precision IEEE 754-1985, consisting of 1-byte exponent and 3-byte fraction (effectively 7 decimal digits precision). The original Sinclair BASIC utilizes 1-byte exponent and 4-byte fraction. [7] All floating point arithmetic routines have been rewritten, including basic operations like addition, multiplication, division and functions like square root, logarithm, exponent. A unique algorithm has been developed for the calculation of trigonometric functions. [8] Line drawing, circle drawing and other graphics functions have also been written.


Successful compilation Tobos-fp screen shot.gif
Successful compilation

The most popular version of ToBoS-FP (ver. 2.0) was released on a compact cassette in May 1986 in Poland. After loading to the memory, the compiler could be invoked with USR 53100. Earlier non-stable versions, assigned 1.0, 1.1, 1.2, and invoked with USR 53500, were available in limited extent.

In June 1987 an improved version named ToBoS-DYD (Tadeusz Golonka co-authored) was released. It was distributed on a 5 1⁄4-inch floppy disk and adapted for the Elwro 800 Junior clone of ZX Spectrum. Compared to ver. 2.0, some functions were further optimized and Elwro 800 Junior extensions added. [9]


Though some 2000 copies of ToBoS-FP have been sold in Poland, it spread worldwide mostly free of charge. As being released when general interest in ZX Spectrum started to decline, it came too late for the market. ToBoS-FP gained most of its popularity in Poland and other East European countries, where ZX Spectrum and its clones were in common use until the mid 1990s. Its ability to expedite games written in Sinclar BASIC was especially appreciated. [10]

Related Research Articles

Jupiter Ace

The Jupiter Ace by Jupiter Cantab was a British home computer of the early 1980s. The Ace differed from other microcomputers of the time in that its programming environment used Forth instead of the more popular BASIC.

ZX80 home computer

The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd.. It is notable for being one of the first computers available in the United Kingdom for less than a hundred pounds. It was available in kit form for £79.95, where purchasers had to assemble and solder it together, and as a ready-built version at £99.95. The ZX80 was very popular straight away, and for some time there was a waiting list of several months for either version of the machine.

ZX Spectrum Series of personal home computers

The ZX Spectrum is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research.

ZX81 home computer produced by Sinclair Research

The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-cost introduction to home computing for the general public. It was hugely successful; more than 1.5 million units were sold. In the United States it was initially sold as the ZX-81 under license by Timex. Timex later produced its own versions of the ZX81: the Timex Sinclair 1000 and Timex Sinclair 1500. Unauthorized ZX81 clones were produced in several countries.

Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research and Timex Sinclair. The Sinclair BASIC interpreter was made by Nine Tiles Networks Ltd.

Russian grammar employs an Indo-European inflexional structure, with considerable adaptation.

Armen Dzhigarkhanyan Armenian, Soviet, Russian actor

Armen Dzhigarkhanyan is a Soviet, Armenian and Russian actor.

Despite the fact that the ZX Spectrum hardware was limited by most standards, its software library was very diverse, including programming language implementations, several Z80 assemblers/disassemblers, Sinclair BASIC compilers, Sinclair BASIC extensions, databases, word processors, spread sheets, drawing and painting tools, even 3D modelling (VU-3D), and, of course, many, many games.

Steve Vickers (computer scientist) mathematician, computer scientist

Steve Vickers is a British mathematician and computer scientist. In the early 1980s, he wrote ROM firmware and manuals for three home computers, the Sinclair ZX81 and ZX Spectrum and the Jupiter Ace. The latter was produced by Jupiter Cantab, a short-lived company Vickers formed together with Richard Altwasser, after the two had left Sinclair Research. Since the late 1980s, Vickers has been an academic in the field of geometric logic, writing over 30 papers in scholarly journals on mathematical aspects of computer science. His book Topology via Logic has been influential over a range of fields. In October 2018, he retired as senior lecturer at the University of Birmingham. As announced on his university homepage, he continues to supervise PhD students at the university and focus on his research.

Zakiev Mirfatyh is a Türkology scholar, philologist, professor, and a Tatarstan public figure. He holds a Doctor of Philology, is a full member of the Academy of Sciences of the Tatarstan Republic, and served as a chairman of the Supreme Soviet of the Tatar ASSR.

Russian boxing

Russian boxing is the traditional bare-knuckle boxing of Rus' and then Russia. Boxers will often train by punching buckets of sand to strengthen bones, and prepared minutes before the fights.

ZX Spectrum character set

The ZX Spectrum character set is the variant of ASCII used in the British Sinclair ZX Spectrum family computers. It is based on ASCII-1967 but the characters ^, ` and DEL are replaced with ↑, £ and ©. It also differs in its use of the C0 control codes other than the common BS and CR, and it makes use of the 128 high-bit characters beyond the ASCII range. The ZX Spectrum's main set of printable characters and system font are also used by the Jupiter Ace computer.

Campaign on granting Nizami the status of the national poet of Azerbaijan – is a politically and ideologically motivated historical revision of the national-cultural origin of one of the classics of Persian poetry, Nizami Ganjavi, which began in the USSR in the late 1930s and was arranged to coincide with the celebration of the 800th anniversary of the poet. The campaign was crowned with jubilee celebrations in 1947 but its effects continue up to this day: on one hand this process was beneficial for many cultures of the multi-cultural Soviet Union and for the Azerbaijani culture in the first place; on the other hand this brought to an extreme politicization of the question on Nizami's cultural-national identity in the USSR and in modern Azerbaijan.

Hasan Abdullayev Azerbaijani physicist

Hasan Abdullayev was a leading Soviet and Azerbaijani physicist, scientist and public official, who served as President of the National Academy of Sciences of the Azerbaijan SSR. He was a Doctor of Sciences in physics and mathematics, Professor of physics and mathematics, Director of the Institute of Mathematics and Physics of the National Academy of Sciences of the Azerbaijan SSR, full Academician of the National Academy of Sciences of the Azerbaijan SSR, corresponding member of the Soviet Academy of Sciences and Russian Academy of Sciences, and in 1970-1983 was the longest-serving President of the National Academy of Sciences of the Azerbaijan SSR. He was also an elected member of the Azerbaijan SSR Parliament, and the elected member of the 8th, 9th and 10th convocations of the Supreme Soviet of the Soviet Union. Academician Abdullayev was one of the founders of the Soviet semiconductors physics and a leading scientist in new technologies. He made an outstanding contribution to the development of electronics, astrophysics, aeronautics, medicine, biophysics and defense industries. Academician Abdullayev was the author of 585 Soviet and foreign patents, including 171 secret and 65 top secret patents, author of 28 scientific books (monographs), over 800 journal and encyclopedia articles in English, Russian and Azerbaijani languages.

2018 Russian presidential election Elections in Russia 2018

The 2018 Russian presidential election was held on 18 March 2018. Incumbent Vladimir Putin won reelection for his second consecutive term in office with 77% of the vote. Vladimir Zhirinovsky from the Liberal Democratic Party was the perennial candidate, having unsuccessfully run in five previous presidential elections. Other candidates included Pavel Grudinin, Sergey Baburin, Ksenia Sobchak, Maxim Suraykin, Boris Titov and Grigory Yavlinsky (Yabloko). Anti-corruption activist Alexei Navalny announced his intent to run in December 2016 but was barred from doing so due to a prior criminal conviction, which may have been politically motivated, for corruption. Consequently, Navalny called for a boycott of the election. He had previously organized several public rallies against corruption among members of Putin's government.

Radio-86RK home computer

The Radio-86RK is a build-it-yourself home computer designed in the Soviet Union. It was featured in the popular Radio magazine for radio hams and electronics hobbyists in 1986. The letters RK in the title stands for the words Radio ham's Computer. Design of the computer was published in a series of articles describing its logical structure, electrical circuitry, drawings of printed circuit boards and firmware. The computer could be built entirely out of standard off-the-shelf parts. Later it was also available in a kit form as well as fully assembled form.

2019 Moscow protests 2019 Moscow City Duma elections protests

Starting from July 2019 numerous approved and unapproved rallies in Moscow began, caused by the situation with the 2019 Moscow City Duma elections. Widespread public protests were triggered by numerous authorities' violations, claimed by the independent opposition candidates, during the registration procedure. Rallies on Sakharov Avenue on 20 July and 10 August 2019 became the largest political rallies in Russia since the 2011–2013 protests. The July 27 rally established a record on number of detainees: 1373 people were detained. The subsequent appeals of the MCEC's decisions to the CEC by the independent candidates didn't lead to any results.

Corvette (computer) Series of personal home computers

Corvette was an 8-bit personal computer in the USSR, created for Soviet schools in 1980s. The first device was a homemade computer, created in 1985 by employees of the Moscow State University for their purposes. The first description was made in the magazine «Microprocessor tools and systems». The PC was named "ПК 8001" (21.08.1985).

The Macedonian Hussar Regiment was a military unit involved in the Russian Imperial Army. The establishment of the Macedonian Hussar Regiment occurred on the 10th of May, 1759.

A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BASIC interpreter to type in programs or to load programs from storage.


  1. Skaba, Wojciech; Borkowski, Jerzy (September 1986). "Pierwszy polski kompilator na Spectrum [the first Polish compiler for Spectrum]". Bajtek . RSW Prasa-Książka-Ruch, Młodzieżowa Agencja Wydawnicza: 20. ISSN   0860-1674.
  2. Skaba, Wojciech; Borkowski, Jerzy (March 1987). "TOBOS-FP polski kompilator na Spectrum [TOBOS-FP Polish compiler for Spectrum]". Komputer . RSW Prasa-Książka-Ruch: 28. ISSN   0860-2514.CS1 maint: extra punctuation (link)
  3. Skaba, Wojciech (1987). "ToBoS-FP Basic reaches the speed of light". Polish Engineering. AGPOL Foreign Trade Publicity and Publishing Enterprise: 30. ISSN   0209-0260.
  4. Болдачев, А.В.; Думов, И.Е; Елисеев, В.А. (1992). "Спектрум Бейсик - Компиляторы, работающие с вещественными числами: Softek FP, Tobos FP.". Диалекты бейсика для ZX Spectrum. Питер (Piter Ltd.). ISBN   5-7190-0001-1. Компилятор Tobos FP (Tobos Floating Point) появился на свет в Польше в 1986 году и стал на сегодняшний день, пожалуй, наиболее популярным из всех известных бейсик-компиляторов для ZX Spectrum.
  5. Chabik, Jakub (12 Jun 2006). "Kod źródłowy Leonarda da Vinci". Computerworld Polska . IDG Poland SA. ISSN   1429-012X.
  6. Skaba, Wojciech; Borkowski, Jerzy (August 1986). "Polski kompilator TOBOS F.P. [Polish compiler TOBOS F.P.]". Elektronik. ZSP Politechniki Wrocławskiej: 7. ISSN   0860-293X.
  7. Vickers, Steven (1982). "Chapter 24". Sinclair ZX Spectrum BASIC programming. Sinclair Research Ltd.
  8. Skaba, Wojciech (February 1988). "Sinus, consinus, tangens". Mikroklan . Wydawnictwo Czasopism i Książek Technicznych SIGMA: 23. ISSN   0860-1941.
  9. Golonka, Tadeusz (April 1988). "Tym razem bez lutownicy [Now without a soldering iron]". Informik . Instytut Wydawniczy Nasza Księgarnia, Warszawa: 8. ISSN   0860-5696.
  10. Капульцевич, А.; Капульцевич, И.; Евдокимов, А. (1995). "Компиляция игровых программ". Как написать игру для ZX Spectrum. ПИТЕР, Санкт Петербург, (Piter Ltd.). p. 132. ISBN   5-7190-0052-6. Начинать знакомство с этим классом прикладных программ лучше всего с компилятора TOBOS FP. На сегодняшний день он, пожалуй, самый популярный, хотя это и не означает, чт о он самый лучший, самый быстродействующий, самый, самый... Все дело в том, что он самы й простой в обращен ии и накладывает на исходную программу меньше всего огра ничений.