Next Previous Contents

9. Other hints

9.1 Passing arguments to the program

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

]CALL2051:REM ARG1 " ARG2 IS QUOTED" ARG3 "" ARG5

  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.

9.2 Interrupts

The runtime for the Apple ][ uses routines marked as .CONDES type interruptor for ProDOS 8 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.

9.3 DIO

The function dio_open() has the single parameter drive_id to identify the drive to be opened. Therefore an Apple II slot and drive pair is mapped to that drive_id according to the formula

    drive_id = (slot * 2) + (drive - 1)

so that for example slot 6 drive 1 is mapped to drive_id 12.

The function dio_open() succeeds only if a formatted disk is present in the drive. However intentionally no check is performed on the presence of a ProDOS 8 disk. Therefore access to all standard 16-sector disks (as for instance DOS 3.3) is possible.


Next Previous Contents