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
main is the program name.The runtime for the Apple ][ uses routines marked as
.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.
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 * 16 + (drive - 1) * 128
so that for example slot 6 drive 2 is mapped to drive_id 224.
The function
dio_query_sectcount() returns
the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
disk it simply always returns 280 (which is only correct for a 140 KB disk).
This condition is indicated by the _oserror value 82.