Next Previous Contents

7. Other hints

7.1 Passing arguments to the program

Command line arguments can be passed to main(). Since this is not supported by BASIC, the following syntax was chosen:


  1. Arguments are separated by spaces.
  2. Arguments may be quoted.
  3. Leading and trailing spaces around an argument are ignored. Spaces within a quoted argument are allowed.
  4. The first argument passed to main is the program name.
  5. A maximum number of 10 arguments (including the program name) are supported.

7.2 Program return code

The program return code (low byte) is passed back to BASIC by use of the ST variable.

7.3 Using extended memory

The extended memory at $A000 may be added to the heap by using the following code:

    /* Check for the existence of RAM */
    if (PEEK(0xA000) == POKE(0xA000, PEEK(0xA000)+1)) {<br>
        /* Add it to the heap */
        _heapadd ((void *) 0xA000, 0x2000);

7.4 Interrupts

The runtime for the VIC20 uses routines marked as .CONDES type 2 for interrupt handlers. Such routines must be written as simple machine language subroutines and will be called automatically by the interrupt handler code when they are linked into a program. See the discussion of the .CONDES feature in the assembler manual.

Next Previous Contents