Difference between revisions of "Waterloo Structured BASIC"

From DenialWIKI
Jump to navigation Jump to search
(Categories)
 
(13 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
[[Image:WSB_box.jpg|thumb|Waterloo Structured BASIC box as it appeared in a Canadian VIC-20 software brochure|right]]
 
[[Image:WSB_box.jpg|thumb|Waterloo Structured BASIC box as it appeared in a Canadian VIC-20 software brochure|right]]
[[Image:WSB_cartridge.jpg|thumb|Waterloo Structural [sic] BASIC cartridge exterior.|right]]
+
[[Image:WSB_cartridge.jpg|thumb|Waterloo Structural [sic] BASIC cartridge exterior (with error in name).|right]]
[[Image:WSB_screenshot.jpg|thumb|Waterloo Structured BASIC startup screen.|right]]
 
  
'''Waterloo Structured BASIC''' (product number VIC-1001) was a [[utility cartridge]] for the [[VIC-20]] providing an extended form of the [[BASIC]] programming language.  The cartridge was manufactured & sold by Commodore Business Machines in Canada (and possibly '''only''' in Canada).  Confusingly, CBM Canada chose the product number [[VIC-1001]], which was a number already in use for the VIC-20 computer as sold in Japan.
+
[[Image:WSB_screenshot.jpg|thumb|Waterloo Structured BASIC startup screen.|left]]'''Waterloo Structured BASIC''' (product number VIC-1001) was a [[utility cartridge]] for the [[VIC-20]] providing an extended form of the [[BASIC]] programming language.  The cartridge was manufactured & sold by Commodore Business Machines in Canada (and possibly '''only''' in Canada).  Confusingly, CBM Canada chose the product number [[VIC-1001]], which was a number already in use for the VIC-20 computer as sold in Japan.
  
[[Image:WSB_interior.jpg|thumb|Waterloo Structured BASIC cartridge interior.|left]]The cartridge was actually called "Waterloo Structured BASIC".  This is the proper name of the language, the name shown on the cartridge box and the name printed on the manual.  However, the cartridge label was mis-printed as "Waterloo Structural BASIC".   
+
The cartridge was actually called "Waterloo Structured BASIC".  This is the proper name of the language, the name shown on the cartridge box and the name printed on the manual.  However, the cartridge label was mis-printed as "Waterloo Structural BASIC".   
  
Waterloo Structured BASIC was developed as a programming language by the University of Waterloo in Ontario, Canada.  The Computer Science department of this University had previously developed the [[SuperPET]] computer with Commodore in Canada.  The SuperPET used the programming language Waterloo Structured BASIC (among others).  The University of Waterloo had also established a company called "Waterloo Computing Systems, Ltd." to act as the commercial face of products the department had developed.
+
Waterloo Structured BASIC was developed as a programming language at the University of Waterloo in Ontario, Canada.  The Computer Science department of this University had previously assisted Commodore Canada in the development of the [[SuperPET]] computer.  The SuperPET used the programming language Waterloo Structured BASIC (among others).  The University of Waterloo had also established a company called "Waterloo Computing Systems, Ltd." to act as the commercial face of products the department had developed.
  
These cartridges seem to have been produced in low quantity (burned onto EPROMS and packed in generic brown utility cartridge cases with stick-on labels).  The cartridge was not known or even suspected to exist by the majority of VIC-20 users and collectors until 2006 when the ROM image was finally archived by a DENIAL forum member.
+
These cartridges seem to have been produced in low quantity (burned onto EPROMS and distributed in generic brown utility cartridge cases with stick-on labels).  The cartridge was not known or even suspected to exist by the majority of VIC-20 users and collectors until 2006 when the ROM image was finally archived by a DENIAL forum member.
  
 
== Waterloo BASIC keywords: ==
 
== Waterloo BASIC keywords: ==
 
   
 
   
  Legend:  
+
  '''Legend:'''
 
  ... : One or more BASIC statements  
 
  ... : One or more BASIC statements  
 
  <expr>: A numeric expression  
 
  <expr>: A numeric expression  
  <name>: An alpha-numeric string of arbitrary length  
+
  <name>: An alpha-numeric string of arbitrary length
  
'''Multi-line IF''':
+
'''Multi-line IF:'''
IF <expr> ... ELSEIF <expr> ... ELSE ... ENDIF  
+
IF <expr> ... ELSEIF <expr> ... ELSE ... ENDIF  
There is no THEN in a Multi-line IF! The ELSEIF, and ELSE parts can be omitted. Multiple ELSEIF parts are allowed, but only one ELSE part.  
+
There is no THEN in a Multi-line IF! The ELSEIF, and ELSE parts  
 +
can be omitted. Multiple ELSEIF parts are allowed, but only  
 +
one ELSE part.
  
'''Loop Statements:'''  
+
'''Loop Statements:'''  
LOOP|WHILE <expr> ... ENDLOOP|UNTIL <expr>  
+
LOOP|WHILE <expr> ... ENDLOOP|UNTIL <expr>  
Use either LOOP or WHILE <expr> at the begin, ENDLOOP or UNTIL <expr> at the end of a loop. Issuing QUIT within the loop also terminates the loop.  
+
Use either LOOP or WHILE <expr> at the begin, ENDLOOP or UNTIL  
 +
<expr> at the end of a loop. Issuing QUIT within the loop also  
 +
terminates the loop.  
  
'''Procedure Definition/Call:'''  
+
'''Procedure Definition/Call:'''  
PROC<name> ... ENDPROC  
+
PROC<name> ... ENDPROC  
CALL<name>  
+
CALL<name>  
A block of statements enclosed within PROC...ENDPROC is ignored, if it had not been CALLed. Multi-line IF's, Loops, and Calls can be nested just like FOR and GOSUB. All new keywords - with the exception of CALL, and QUIT - must be positioned first in a line. LIST also accepts a comma instead of a hyphen.
+
A block of statements enclosed within PROC...ENDPROC is ignored,
 +
if it had not been CALLed. Multi-line IF's, Loops, and Calls can
 +
be nested just like FOR and GOSUB. All new keywords - with the
 +
exception of CALL, and QUIT - must be positioned first in a
 +
line. LIST also accepts a comma instead of a hyphen.
  
[[Image:WSB_manualcover.jpg|thumb|Cover of manual for Structured BASIC cartridge cartridge.|left]][[Image:WSB_manualintro.gif|thumb|Preface to manual for Waterloo Structured BASIC cartridge.|left]]
+
[[Image:WSB_manualcover.jpg|thumb|Cover of manual for Structured BASIC cartridge.|left]][[Image:WSB_manualintro.gif|thumb|Preface to manual for Waterloo Structured BASIC cartridge.|left]]
 +
[[Image:WSB_interior.jpg|thumb|Waterloo Structured BASIC cartridge interior.|left]]
 +
 
 +
[[Category:Programming]]
 +
[[Category:Software]]

Latest revision as of 10:33, 7 June 2015

Waterloo Structured BASIC box as it appeared in a Canadian VIC-20 software brochure
Waterloo Structural [sic] BASIC cartridge exterior (with error in name).
Waterloo Structured BASIC startup screen.

Waterloo Structured BASIC (product number VIC-1001) was a utility cartridge for the VIC-20 providing an extended form of the BASIC programming language. The cartridge was manufactured & sold by Commodore Business Machines in Canada (and possibly only in Canada). Confusingly, CBM Canada chose the product number VIC-1001, which was a number already in use for the VIC-20 computer as sold in Japan.

The cartridge was actually called "Waterloo Structured BASIC". This is the proper name of the language, the name shown on the cartridge box and the name printed on the manual. However, the cartridge label was mis-printed as "Waterloo Structural BASIC".

Waterloo Structured BASIC was developed as a programming language at the University of Waterloo in Ontario, Canada. The Computer Science department of this University had previously assisted Commodore Canada in the development of the SuperPET computer. The SuperPET used the programming language Waterloo Structured BASIC (among others). The University of Waterloo had also established a company called "Waterloo Computing Systems, Ltd." to act as the commercial face of products the department had developed.

These cartridges seem to have been produced in low quantity (burned onto EPROMS and distributed in generic brown utility cartridge cases with stick-on labels). The cartridge was not known or even suspected to exist by the majority of VIC-20 users and collectors until 2006 when the ROM image was finally archived by a DENIAL forum member.

Waterloo BASIC keywords:

Legend: 
... : One or more BASIC statements 
<expr>: A numeric expression 
<name>: An alpha-numeric string of arbitrary length
Multi-line IF:
IF <expr> ... ELSEIF <expr> ... ELSE ... ENDIF 
There is no THEN in a Multi-line IF! The ELSEIF, and ELSE parts 
can be omitted. Multiple ELSEIF  parts are allowed, but only 
one ELSE part.
Loop Statements: 
LOOP|WHILE <expr> ... ENDLOOP|UNTIL <expr> 
Use either LOOP or WHILE <expr> at the begin, ENDLOOP or UNTIL 
<expr> at the end of a loop. Issuing QUIT within the loop also 
terminates the loop. 
Procedure Definition/Call: 
PROC<name> ... ENDPROC 
CALL<name> 
A block of statements enclosed within PROC...ENDPROC is ignored,
if it had not been CALLed. Multi-line IF's, Loops, and Calls can
be nested just like FOR and GOSUB. All new keywords - with the
exception of CALL, and QUIT - must be positioned first in a  
line. LIST also accepts a comma instead of a hyphen.
Cover of manual for Structured BASIC cartridge.
Preface to manual for Waterloo Structured BASIC cartridge.
Waterloo Structured BASIC cartridge interior.