ZXBasic

From BorielWiki
(Difference between revisions)
Jump to: navigation, search
(Language Reference)
(Inline assembler)
 
(47 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC__  
<table width="90%" cellpadding="10">
+
<tr>
+
<td valign="top" width="50%" style="border: solid 1px #444">
+
===General===
+
* [[ZX_Basic:About|About]]
+
: About the ZX BASIC <abbr title="Software Development Kit">SDK</abbr>
+
* [[ZX_Basic:Installation|Installation]]
+
: How to install the ZX Basic SDK in your system, and prerequisites for do it.
+
* [[ZX_Basic:Tools|SDK Tools]]
+
: Tools available in the SDK.
+
</td>
+
<td valign="top" width="50%" style="border: solid 1px #444">
+
  
===Tutorials===
+
{| width="90%" cellpadding="10"
</td>
+
|-
</tr>
+
| width="50%" valign="top" style="border: 1px solid rgb(85, 85, 85);" class="roundedborders bluehover" |
<tr>
+
=== General  ===
<td valign="top" width="50%" style="border: solid 1px #444">
+
===Language Reference===
+
* [[ZX_Basic:Syntax|Language Syntax]]
+
: Language Syntax is very close to the original Sinclair BASIC, but it's expanded and enhaced.
+
* [[ZX_Basic:Types|Data Types]]
+
: Language data types: Instead of working always with Floating Point numbers (also available), there are also some integer types which are faster an take less memory.
+
* [[ZX_BASIC:Identifier|Reserved words]]
+
: Comprehensive list of identifiers you can't use as a ''variable name''. Ej '''FOR''', '''PRINT'''
+
</td>
+
<td valign="top" width="50%" style="border: solid 1px #444">
+
</td>
+
</tr>
+
</table>
+
  
==Tutorials==
+
*[[ZX BASIC:About|About]]
  
Tutorials and examples are the fastest way (in my opinion) to learn a new language. Well, ZX BASIC is not so ''new'' if you are used to Sinclair BASIC. The following is a list of ''examples'', some of them already bundled with the ZX BASIC distribution in the <tt>examples/</tt> directory:
+
:About the ZX BASIC <abbr title="Software Development Kit">SDK</abbr>
  
* [[ZX_BASIC:Circle.Bas|CIRCLE.BAS]]
+
*[[ZX BASIC:ChangeLog|ChangeLog]]
:Draws a circle pixel by pixel using [[ZX_BASIC:PLOT|PLOT]] primitive
+
* [[ZX_BASIC:Clock.Bas|CLOCK.BAS]]
+
:Sample clock which uses the FRAMES variable (taken from the ZX Spectrum 48K user manual)
+
* [[ZX_BASIC:Clock2.Bas|CLOCK2.BAS]]
+
:Like above, but a bit improved.
+
* [[ZX_BASIC:Colors.bas|COLORS.BAS]]
+
:Colors example from the ZX Spectrum user Manual
+
* [[ZX_BASIC:Lines.bas|LINES.BAS]]
+
:Random color lines example from the ZX Spectrum 48K user manual.
+
* [[ZX_BASIC:Fact.bas|FACT.BAS]]
+
:Factorial ''recursive'' test.
+
* [[ZX_BASIC:FrereGustav.bas|FREREGUSTAV.BAS]]
+
:A sound demo (taken from the ZX Spectrum 48K user manual)
+
* [[ZX_BASIC:Flag.bas|FLAG.BAS]]
+
: UK Flag drawing (taken from the ZX Spectrum 48K / 128K user manual)
+
  
===Games===
+
:A reduced list of changes/bugfixes
* [[ZX_BASIC:Snake.Bas|SNAKE.BAS]]
+
 
:The snake game by Federico J. Alvarez Valero (05-02-2003) (English version)
+
*[[ZX BASIC:Installation|Installation]]
 +
 
 +
:How to install the ZX Basic SDK in your system, and prerequisites for doing so.
 +
 
 +
*[[ZX BASIC:Tools|SDK tools]]
 +
 
 +
:Tools available in the SDK.
 +
 
 +
*[[ZX BASIC:Zxb#Command_Line_Options|Command line options]]
 +
 
 +
:Command line options table for the compiler (zxb)
 +
 
 +
=== Products  ===
 +
 
 +
*[[ZX BASIC:Released_Programs|Released programs]]
 +
 
 +
:A list of third-party released programs (mostly games) for the ZX-Spectrum developed with ZX BASIC.
 +
 
 +
| width="50%" valign="top" style="border: 1px solid rgb(85, 85, 85);" class="roundedborders redhover" |
 +
 
 +
=== Download  ===
 +
 
 +
Get the latest version of ZX BASIC from the [[ZX BASIC:Archive|archive]].  
 +
 
 +
=== Tutorials  ===
 +
 
 +
*[[ZX BASIC:Tutorials|Programming tutorials]]
 +
 
 +
:A collection of third-party tutorials about development with ZX BASIC.
 +
 
 +
*[[ZX BASIC:Sample Programs|Sample programs]]
 +
 
 +
:Sample programs you can try to see what ZX BASIC looks like and how fast it runs.
 +
 
 +
*[[ZX BASIC:Sample Programs#Games|Game examples]]
 +
 
 +
:Some little games examples.
 +
 
 +
=== Help & Support ===
 +
 
 +
* [http://www.boriel.com/forum/zx-basic-compiler/ Community Forum]
 +
:Have a question? Need help or comment a report a bug? Go to the [http://www.boriel.com/forum/zx-basic-compiler/ ZX BASIC forum]
 +
 
 +
=== External resources  ===
 +
 
 +
* Here you are [[ZX BASIC:External_Resources|external resources]]: other tools, IDEs, graphic designers and projects related to ZX BASIC. Have a look!
 +
 
 +
|-
 +
| width="50%" valign="top" style="border: 1px solid rgb(85, 85, 85);" class="roundedborders greenhover" |
 +
 
 +
=== Language Reference  ===
 +
 
 +
*[[ZX BASIC:Syntax|Language syntax]]
 +
 
 +
:Language Syntax is very close to the original Sinclair BASIC, but it's expanded and enhanced.
 +
 
 +
*[[ZX BASIC:Types|Data types]]
 +
 
 +
:Language data types: Instead of working always with Floating Point numbers (also available), there are also some integer types which are faster an take less memory.
 +
 
 +
*[[ZX BASIC:Identifier|Reserved words]]
 +
 
 +
:Comprehensive list (alphabetically ordered) of identifiers you shouldn't use as a ''variable name''. E.g. '''FOR''', '''PRINT'''. If you want usage instructions on a statement, also look here.
 +
 
 +
| width="50%" valign="top" style="border: 1px solid rgb(85, 85, 85);" class="roundedborders blackhover" |
 +
 
 +
=== External libraries  ===
 +
 
 +
*[[ZX BASIC:Library|Library]]
 +
 
 +
:Library of functions and subroutines you can use in your programs. You might find them really useful.
 +
 
 +
=== Inline assembler  ===
 +
 
 +
:Embedding inline assembler in your code is pretty easy. There's a [http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Tutorials tutorial] on it.
 +
 
 +
=== Compiler internals  ===
 +
 
 +
:Only for true hackers: This explains how the compiler does it job, how to expand it, etc. You must be a bit crazy if you enter here...
 +
 
 +
=== Other Architectures ===
 +
 
 +
:ZX Basic was designed from the base as a Retargeable Compiler, so it should be not hard to extend it to other architectures. This is '''work in progress'''. See [[ZX_BASIC:Other architectures|Other Architectures]] for more info.
 +
 
 +
|}

Latest revision as of 22:55, 13 November 2012


[edit] General

About the ZX BASIC SDK
A reduced list of changes/bugfixes
How to install the ZX Basic SDK in your system, and prerequisites for doing so.
Tools available in the SDK.
Command line options table for the compiler (zxb)

[edit] Products

A list of third-party released programs (mostly games) for the ZX-Spectrum developed with ZX BASIC.

[edit] Download

Get the latest version of ZX BASIC from the archive.

[edit] Tutorials

A collection of third-party tutorials about development with ZX BASIC.
Sample programs you can try to see what ZX BASIC looks like and how fast it runs.
Some little games examples.

[edit] Help & Support

Have a question? Need help or comment a report a bug? Go to the ZX BASIC forum

[edit] External resources

  • Here you are external resources: other tools, IDEs, graphic designers and projects related to ZX BASIC. Have a look!

[edit] Language Reference

Language Syntax is very close to the original Sinclair BASIC, but it's expanded and enhanced.
Language data types: Instead of working always with Floating Point numbers (also available), there are also some integer types which are faster an take less memory.
Comprehensive list (alphabetically ordered) of identifiers you shouldn't use as a variable name. E.g. FOR, PRINT. If you want usage instructions on a statement, also look here.

[edit] External libraries

Library of functions and subroutines you can use in your programs. You might find them really useful.

[edit] Inline assembler

Embedding inline assembler in your code is pretty easy. There's a tutorial on it.

[edit] Compiler internals

Only for true hackers: This explains how the compiler does it job, how to expand it, etc. You must be a bit crazy if you enter here...

[edit] Other Architectures

ZX Basic was designed from the base as a Retargeable Compiler, so it should be not hard to extend it to other architectures. This is work in progress. See Other Architectures for more info.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox
Translate
Google AdSense