SPS BASIC: Difference between revisions

Jump to navigation Jump to search
capitalize acronym BASIC everywhere
(Layout changes)
(capitalize acronym BASIC everywhere)
Line 1: Line 1:
To provide users of the early Signal Processing Systems like the [[P7001|DPO]] a way to control the hardware and to write their own measurement routines a programming language was needed. The BASIC language was chosen because it was simple and easy to use. The user could modify their own programs without the need of recompiling it.
To provide users of the early Signal Processing Systems like the [[P7001|DPO]] a way to control the hardware and to write their own measurement routines, a programming language was needed. The BASIC language was chosen because it was simple and easy to use. The user could modify their own programs without the need of recompiling it.
 
[[Dartmouth Basic]] was the basis of all basic variants.


[[wikipedia:Dartmouth BASIC]] was used as the basis of all Tek BASIC variants.


==1973: APD Basic==
==1973: APD Basic==
[[File:Tek_APD_Basic.gif|right]]
[[File:Tek_APD_Basic.gif|350px|right]]


APD Basic was the first iteration of the extended basic language. It adds several special variables and commands to interact directly with the data on the P7001.
APD BASIC was the first iteration of the extended BASIC language. It adds several special variables and commands to interact directly with the data on the P7001.
Four arrays PA..PD are defined to interact directly with the 4 waveform memory slots of the P7001:
Four arrays PA..PD are defined to interact directly with the 4 waveform memory slots of the P7001:


LET PC = PA * A
LET PC = PA * A


This line downloads the data array in memory location A of the DPO to the controller, multiplies each element with the content of variable A and uploads the result back to memory location C of the DPO. The result is automatically scaled to a standard oscilloscope factor. The units of the scale factor are also maintained. So in case the variable A is also an array of waveform elements the result unit will be changed to "VV" (Volts*Volts).
This line downloads the data array in memory location A of the DPO to the controller, multiplies each element with the content of variable A and uploads the result back to memory location C of the DPO. The result is automatically scaled to a standard oscilloscope factor. The units of the scale factor are also maintained. So in case the variable A is also an array of waveform elements, the result unit will be changed to "VV" (Volts*Volts).


APD Basic was sold in two variants (I & II). These variants differ only in the feature set.
APD BASIC was sold in two variants (I & II) that differ only in the feature set.


<br clear=all>  
<br clear=all>  
==1974: TEK Basic==
==1974: TEK Basic==
[[File:Tek_Basic.gif|right]]
[[File:Tek_Basic.gif|350px|right]]
With the introduction of the R7912 a second special basic variant was developed to provide access to the data on the new instrument. APD Basic was renamed to TEK Basic and the special variants were called DPO (Digital Processing Oscilloscope) Tek Basic and WDI (Waveform Digitizing Instrument) Tek Basic.  
With the introduction of the R7912, a second special BASIC variant was developed to provide access to the data on the new instrument. APD BASIC was renamed to TEK BASIC and the special variants were called DPO (Digital Processing Oscilloscope) Tek BASIC and WDI (Waveform Digitizing Instrument) Tek BASIC.  
<br clear=all>  
<br clear=all>  
<gallery>
<gallery>
Tek_SPS_BASIC_RSS_extension.jpg|Basic variant for the [[7J20|7J20 Spectrometer]]
Tek_SPS_BASIC_RSS_extension.jpg|BASIC variant for the [[7J20|7J20 Spectrometer]]
</gallery>
</gallery>


==1976: TEK SPS Basic==
==1976: TEK SPS Basic==
[[File:Tek_SPS_Basic_Ext.gif|right]]
[[File:Tek_SPS_Basic_Ext.gif|350px|right]]
To avoid further splitting of the basic variants and to support different instruments on one controller a more generic solution was developed. The new TEK SPS BASIC provided a base package which then could be extended with instrument-specific driver and command packages.  
To avoid further splitting of the BASIC variants and to support different instruments on one controller a more generic solution was developed. The new TEK SPS BASIC provided a base package which then could be extended with instrument-specific driver and command packages.  


<br clear=all>  
<br clear=all>  
<gallery>
<gallery>
TEk_SPSBasic_modules.jpg|Example of TEK SPS basic extensions
TEk_SPSBasic_modules.jpg|Example of TEK SPS BASIC extensions
</gallery>
</gallery>


Line 42: Line 41:


==Software==
==Software==
* [[Media:SPS_BASIC_V2-02_1980.zip|Disc image of Tek SPS Basic V02 from 1980]]
* [[Media:SPS_BASIC_V2-02_1980.zip|Disc image of Tek SPS BASIC V02 from 1980]]
* [[Media:SPS_DIR.pdf|Directory content of Tek SPS Basic V02 from 1980]]
* [[Media:SPS_DIR.pdf|Directory content of Tek SPS BASIC V02 from 1980]]


==Links==
==Links==
* [https://vintagetek.org/sps-basic/ The R7912 and SPS TEK Basic Software by Hale Farley @vintagetek.org]
* [https://vintagetek.org/sps-basic/ The R7912 and SPS TEK BASIC Software by Hale Farley @ vintagetek.org]

Navigation menu