vic20
)
The vic20
target has been supported by ugBASIC
since version 1.5. The compiler can produce executable files in "prg"
format and entire "d64" disks, including files that can be loaded using
the language's primitives.
You can use the SANDBOX to try the ugBASIC compiler, without download
anything. This tool has been designed to quickly test whether the code
you are writing compiles correctly and determines the desired results.
Since the source is compiled thanks to dedicated servers, separate from the
browser you are using, some commands are not available: for example, you
cannot load external files or resources by using the LOAD
command.
If you need to develop a program with a complete tool, we recommend installing the
command line executables (see below) or UGBASIC-IDE.
To write the source code you can use a simply text editor. You can save
the program in a text file and then to call the compiler, in order to convert it into an
form that your Commodore VIC-20 will
be able to execute.
Otherwise you can download and use command line compilers. Here are the direct links to the
compilers for the various operating systems. Select the most suitable one for your configuration:
In addition to compiling with the IDE, if you are using Linux or the command line version for
Microsoft Windows, you can compile the BASIC source "source.bas" into an executable file using the following command:
ugbc.vic20 -o executable.prg -O prg source.bas
ugbc.vic20 -o disk.d64 -O d64 source.bas
It is therefore possible to run everything with an emulator,
such as
VICE
,
or to create a phisical storage, as well.
A good starting point to learn ugBASIC
for the vic20
platform is the examples page.
The examples provide insight into the syntax and usage of many of the commands
and statements available for the
language.
Since ugBASIC is an isomorphic language, which does not provide abstractions, it
is possible that not all examples work on all targets: those labeled vic20 can
be compiled to generate executable files.
If you need help and support, the best place is the official forum, where you can
find answers to your questions and receive help.
Graphical operations are not supported.
At the moment the support for graphics modes is limited to GET
and PUT
.
With the vic20
target you can include assembly code
for the MOS 6502 processor. The code will be placed within the code bank.
The ugBASIC compiler supports both the Commodore VIC-20 PAL
(working frequency: 50 Hz) and NTSC
(working frequency: 60 Hz)
versions, and automatically detects the working frequency to calibrate the
delays. In particular, it defines two constants with the same name, and
initializes the constant TICKS PER SECOND
.
This is the value of the various constants in the various versions:
VERSIONE | NTSC | PAL | TICKS PER SECOND |
---|---|---|---|
VIC-20 PAL | 0 (FALSE ) | -1 (TRUE ) | 50 |
VIC-20 NTSC | -1 (TRUE ) | 0 (FALSE ) | 60 |