Full documentation can be viewed at https://gammon.com.au/G-Pascal
A 6502 assembler which lets you try out your assembler programming without having to keep removing the EEPROM chip and programming it externally. The assembler supports:
Here is "hello world" in assembler:
jmp begin ; skip the message
hello asciiz "Hello, world!"
begin = *
lda #<hello
ldx #>hello
jsr print
rts
A "tiny" Pascal compiler (G-Pascal) which allows you to program the board in a high-level language. Whilst there are limitations in what can be done in a few KB of memory, the compiler supports:
CONST, VAR, FUNCTION and PROCEDURE declarations
Local declarations (functions and variables within functions, etc.)
Recursive function and procedure calls
Arithmetic: multiply, divide, add, subtract, modulus
Logical operations: and, or, shift left, shift right, exclusive or
INTEGER and CHAR data types. (Integer are 3 bytes and thus range from 8388607 to -8388608)
Arrays
Interface with any memory address by using the MEM and MEMC constructs (to peek and poke memory locations)
Built-in functions to write to the LCD display.
Built-in functions to do pinMode, digitalRead and digitalWrite, similar to the Arduino. These interface with any available ports on the VIA chip.
Here is "hello world" for the LCD display:
begin
lcdclear;
lcdwrite ("Hello, world!")
end.
And for the serial monitor:
begin
writeln ("Hello, world!")
end.
A text editor for keying in programs. It supports:
Support functions, such as:
Both the Pascal compiler and assembler are quite fast. Any program that will fit into memory will compile in a few seconds. For example, using a 1 MHz clock: