Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
zip
fastbasic-1.zip 102.6 kB 1 19-Oct-2017 00:58 Roland B. Wassenberg fastbasic-1.zip
atr
fastbasic-v1.atr 133.1 kB 1 19-Oct-2017 00:57 Roland B. Wassenberg fastbasic-v1.atr
jpg
fastbasic1.jpg 60.0 kB 1 19-Oct-2017 00:57 Roland B. Wassenberg fastbasic1.jpg
jpg
fastbasic2.jpg 162.6 kB 1 19-Oct-2017 00:57 Roland B. Wassenberg fastbasic2.jpg

This page (revision-15) was last changed on 11-May-2018 16:12 by Maury Markowitz  

This page was created on 19-Oct-2017 00:56 by Roland B. Wassenberg

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 9 changed one line
In contrast, FastBasic works on an entirely different principle. When a line is parsed in FastBasic, it (essentially) compiles the entire line into tokens and then ''leaves them in memory''. This way the line does not have to be repeatedly parsed, even from tokens, which makes it ''much'' faster to run. This does generally require more memory, but by using a compact notation this impact can be reduced, especially as the parser code can be made smaller. FastBasic is not a compiler, although it works in a similar fashion; a compiler would convert the code into [assembler], FastBasic converts it to an intermediate bytecode format. In this fashion it sits between the interpreter and compiler worlds, a concept also used in the p-code systems.
In contrast, FastBasic works on an entirely different principle. When a line is parsed in FastBasic, it (essentially) compiles the entire line into tokens and then ''leaves them in memory''. This way the line does not have to be repeatedly parsed, even from the simplified token format, which makes it ''much'' faster to run. This generally requires more memory to store this format, but by using a compact notation this impact can be reduced, especially as the parser code can be made smaller. FastBasic is not a compiler, although it works in a similar fashion; a compiler would convert the code directly into machine language, FastBasic converts it to an intermediate bytecode format which can then be very quickly converted into the equivalent machine language at runtime. In this fashion it sits between the interpreter and compiler worlds, a concept also used in the p-code systems like the Berkeley p-System.
At line 11 changed one line
FastBasic further improves performance with several other speed-ups. Among these is the inclusion of 16-bit and 8-bit arrays, which save memory and are faster to process. It also includes integer variables; in cases where the parser can determine that the entire math function is integer, the expensive floating-point math routines found in most BASICs are replaced by the much simpler and faster bit-fiddling routines for much greater speed. FastBasic uses whatever floating-point library is found in the system, so code that does use floating-point routines can be further sped up with a replacement math ROM like FashChip or the libraries in Atari++ and Altirra.
FastBasic further improves performance with several other speed-ups. Among these is the inclusion of 16-bit and 8-bit arrays, which save memory and are faster to process. It also includes integer variables; in cases where the parser can determine that the entire math function is integer, the expensive floating-point math routines found in most BASICs are replaced by much simpler and faster bit-fiddling routines. FastBasic uses whatever floating-point library is found in the system, so code that does use floating-point routines can be further sped up with a replacement math ROM like FashChip or the libraries in Atari++ and Altirra.
At line 13 changed one line
On top of this, FastBasic uses a new full-screen editor instead of the classic line-number based systems of the past. Line-number-based editing was invented because early video terminals could not scroll, a problem few (if any) of the home computers actually had, but by the time they arrived the line-number constant was too ingrained in MS BASIC for people to think outside that box. FastBasic does, and this makes editing far easier. Gone are the days of typing in long strings of numbers to delete lines or move code around, all of this is now done using the cursor controls, as it always should have been.
On top of this, FastBasic uses a new full-screen editor instead of the classic line-number based systems of the past. Line-number-based editing was invented because early video terminals could not scroll, so to edit a file you needed a way to refer to a given line of code. This is a problem that few (if any) of the home computers had, but by the time they arrived the line-number concept was too ingrained in MS BASIC for people to think outside that box. FastBasic does, and this makes editing far easier. Gone are the days of typing in long strings of numbers to delete lines or move code around, all of this is now done using the cursor controls, as it always should have been.
Version Date Modified Size Author Changes ... Change note
15 11-May-2018 16:12 4.339 kB Maury Markowitz to previous
14 11-May-2018 16:07 4.126 kB Maury Markowitz to previous | to last
13 07-May-2018 22:33 4.035 kB Maury Markowitz to previous | to last
12 07-May-2018 22:29 3.789 kB Maury Markowitz to previous | to last
11 04-May-2018 17:00 2.178 kB Maury Markowitz to previous | to last DMSC-FastBasic ==> FastBasic
10 02-May-2018 16:19 2.178 kB Maury Markowitz to previous | to last
9 28-Apr-2018 15:09 2.086 kB Maury Markowitz to previous | to last
8 28-Apr-2018 15:07 1.998 kB Maury Markowitz to previous | to last
7 28-Apr-2018 15:05 1.99 kB Maury Markowitz to previous | to last
6 28-Apr-2018 03:00 1.907 kB Maury Markowitz to previous | to last
5 26-Apr-2018 18:50 1.91 kB Maury Markowitz to previous | to last
4 21-Oct-2017 02:12 0.846 kB Roland B. Wassenberg to previous | to last
3 19-Oct-2017 01:16 0.875 kB Roland B. Wassenberg to previous | to last
2 19-Oct-2017 00:56 0.019 kB Roland B. Wassenberg to previous | to last Dmsc-FastBasic ==> DMSC-FastBasic
1 19-Oct-2017 00:56 0.019 kB Roland B. Wassenberg to last dmsc FastBasic
« This page (revision-15) was last changed on 11-May-2018 16:12 by Maury Markowitz