]> git.sur5r.net Git - cc65/blobdiff - doc/plus4.sgml
No need to import __oserror.
[cc65] / doc / plus4.sgml
index 93d5c15e26748d284a2234c763912485f05643a7..b480d11303d6e215689230468e76354ed8267a9d 100644 (file)
@@ -41,10 +41,10 @@ C16 will always run on the Plus/4, while the reverse is not necessarily true.
 <sect>Binary format<p>
 
 The standard binary output format generated by the linker for the Plus/4
 <sect>Binary format<p>
 
 The standard binary output format generated by the linker for the Plus/4
-target is a machine language program with a one line BASIC stub. This means
-that a program can be loaded as BASIC program and started with RUN. It is of
-course possible to change this behaviour by using a modified startup file and
-linker config.
+target is a machine language program with a one line BASIC stub, which calls
+the machine language part via SYS. This means that a program can be loaded as
+BASIC program and started with RUN. It is of course possible to change this
+behaviour by using a modified startup file and linker config.
 
 
 <sect>Memory layout<p>
 
 
 <sect>Memory layout<p>
@@ -185,7 +185,7 @@ does not exist).
   that because of the peculiarities of the 6551 chip transmits are not
   interrupt driven, and the transceiver blocks if the receiver asserts flow
   control because of a full buffer.
   that because of the peculiarities of the 6551 chip transmits are not
   interrupt driven, and the transceiver blocks if the receiver asserts flow
   control because of a full buffer.
-                                                               
+
   You need an adapter to use the builtin port, since the output levels
   available at the user port don't follow the RS232 standard.
 
   You need an adapter to use the builtin port, since the output levels
   available at the user port don't follow the RS232 standard.
 
@@ -201,7 +201,29 @@ does not exist).
 
 <sect1>Passing arguments to the program<p>
 
 
 <sect1>Passing arguments to the program<p>
 
-Command line argument passing is currently not supported for the Plus/4.
+Command line arguments can be passed to <tt/main()/. Since this is not
+supported by BASIC, the following syntax was chosen:
+
+<tscreen><verb>
+    RUN:REM ARG1 " ARG2 IS QUOTED" ARG3 "" ARG5
+</verb></tscreen>
+
+<enum>
+<item>Arguments are separated by spaces.
+<item>Arguments may be quoted.
+<item>Leading and trailing spaces around an argument are ignored. Spaces within
+      a quoted argument are allowed.
+<item>The first argument passed to <tt/main/ is the program name.
+<item>A maximum number of 10 arguments (including the program name) are
+      supported.
+</enum>
+
+
+
+<sect1>Program return code<p>
+
+The program return code (low byte) is passed back to BASIC by use of the
+<tt/ST/ variable.
 
 
 <sect1>Interrupts<p>
 
 
 <sect1>Interrupts<p>