GCBASIC documentation

The GCBASIC development team. Copyright 2005 - 2026


Table of Contents

Introducing GCBASIC
Primer
Using GCBASIC
PIC users and Beginners: Start Here
Command Line Parameters
Frequent errors
A Glossary
Frequently Asked Questions
Troubleshooting
Acknowledgements
GCBASIC Compiler Insights
Compiler Insights
Compiler Control
Libraries Overview
Tricks and Tips
GCBASIC HXL- Memory Map Output
UNO as ISP programmer
Microcontroller Fundamentals
Inputs/Outputs
Configuration
USB Drivers Installer
Variables
Data Types
Variable Types
Variables and Data Types
The Positives and Negatives of Variable Types
Advanced VariableTypes
Variable Memory Allocation, Addressing & Control
AVR R Register Usage
New Example 1: Basic Variables with Initial Values
New Example 2: Arrays and Initialisation
New Example 3: Bit-Level Access Using Constants
Reference Data
Efficient Implementation of Lookup Reference Tables in GCBASIC
Syntax
Arrays
Comments
Line Continuation
Conditions
Constants
Functions
Labels
Lookup Tables
Miscellaneous
ReadTable
Scripts
Subroutines
Converters
Commands Quick Reference
Alphabetical Index
By Category
Commands Not Yet Documented
Command References
Analog/Digital conversion
Bitwise
Memory
Flow control
Fixed Voltage Reference
Interrupts
Keypad
Graphical LCD
Touch Screen
Liquid Crystal Display
Pulse width modulation
Random Numbers
7-Segment Displays
One Wire Devices
Serial Communications
Infrared Remote Control
PS/2
SPI
I2C Software
I2C/TWI Hardware Module
Sound
Timers
Variables Operations
String Manipulation
Miscellaneous Commands
Maths
Port control
Compiler Directives
#asmraw
Asm
#chip
#config
#DEFINE
#UNDEFINE
#if
#ifnot
#ifdef
#ifndef
#include
#ignorecompile
#insert
#script
#startup
#mem
Enum
Other directives
Compiler Preprocessor Options
#Option Explicit
#Option NoConfig
#Option StartupMethodDisabled
#Option Bootloader
#Option NoContextSave
#Option NoLatch
#Option Required
#Option Shadowregister
#Option removeAVRvectors
#Option UserCodeOnly
#Option Volatile
#Option ReserveHighProg
Using Assembler
Assembler Overview
Macros
Macros Overview
Example Macros
Example Programs
Flashing LEDs and an Interrupt
Flashing LED with timing parameters
Generate Accurate Pulses
Graphical LCD Demonstration
InfraRed Remote
Midpoint Circle Algorithm
I2C Master Hardware
I2C Slave Hardware
RGB LED Control
Serial/RS232 Buffer Ring
Trigonometry Circle
Operating Systems Support
Overview - Linux Operating System
Make ASM, Make HEX and Programming Operations using the provided Linux scripts
Overview - Raspberry Pi
Overview - Apple macOS GCBASIC
Overview - FreeBSD GCBASIC
Windows .NET Support
Constraints and Error Messages
Constraints and Error Messages Overview
Program Memory Pages
Performance
Performance Overview
GCBASIC Maintenance and Development
GCBASIC Maintenance
Development Guide
Development Guide for GCBASIC.EXE compiler
Historical Design Constraints
Compiler Source Insights
ABOUT GLCD Library Support
Development Guide for GCBASIC Preferences Editor
Regression Testing the Compiler Against the Demos
Code Documentation
GCBASIC Documentation Toolchain
GCBASIC with the AVRISP or MKII Programmer
Setup an AVRISP MKII or USBtinyISP for ATTINY10 chip under Windows
Changes