cc65 generated programs with the default setup run with the I/O area and the
kernal ROM enabled. Note that this is a non standard memory layout, and that
there is no "memory configuration index" for this layout. This means that
-special case has to be taken when changing the configuration, or calling any
+special care has to be taken when changing the configuration, or calling any
code that does this. The memory configuration register at $FF00 should
be saved and restored instead of relying on the memory configuration index
stored in the zero page.
-The setup gives a usable memory range of $1C00 - $CFFF. Having
+The setup gives a usable memory range of $1C00 - $BFFF. Having
just the kernal ROM mapped in means, that kernal entry points may be called
directly, but using the BASIC ROM is not possible without additional code.
url="funcref.html" name="function reference"> for declaration and usage.
<itemize>
-<item>toggle_videomode
+<item>videomode
<item>c64mode
<item>fast
<item>slow
directory for the declaration of the structure.
<tag><tt/CIA1, CIA2/</tag>
- Access to the two CIA (complex interface adapater) chips is available via
+ Access to the two CIA (complex interface adapter) chips is available via
the <tt/CIA1/ and <tt/CIA2/ variables. The structure behind these variables
- is explained in <tt/_cia.h/.
+ is explained in <tt/_6526.h/.
<tag><tt/COLOR_RAM/</tag>
A character array that mirrors the color RAM of the C64 at $D800.
<tag><tt/c128-vdc.tgi/</tag>
This driver was written by Maciej Witkowiak. It uses the 80 column display
and features a resolution of 640*200 with two colors and an adjustable
- palette (that means that the two colors can be choosen out of the 16 VDC
+ palette (that means that the two colors can be chosen out of the 16 VDC
colors).
<tag><tt/c128-vdc2.tgi/</tag>
This driver was written by Maciej Witkowiak. This driver uses the 80 column
display and features a resolution of 640*480 with two colors and an
- adjustable palette (that means that the two colors can be choosen out of the
+ adjustable palette (that means that the two colors can be chosen out of the
16 VDC colors). The driver requires 64KB VDC RAM.
</descrip><p>
Note: The colors are translated from definitions in headers to correct VDC values
-so please use definitions or VIC color numbers only. Colors GRAY3 and BROWN are
+so please use definitions or VIC color numbers only. Colors <tt/GRAY3/ and <tt/BROWN/ are
missing on VDC and are translated to the two colors missing from VIC palette.
<sect1>Extended memory drivers<p>
<sect1>Mouse drivers<p>
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist).
+<descrip>
+
+ <tag><tt/c128-1351.mou/</tag>
+ Supports a standard mouse connected to port #0 of the C128.
+
+ <tag><tt/c128-joy.mou/</tag>
+ Supports a mouse emulated by a standard joystick e.g. 1350 mouse in port
+ #1 of the C128.
+
+ <tag><tt/c128-pot.mou/</tag>
+ Supports a potentiometer device e.g. Koala Pad connected to port #1 of
+ the C128.
+
+</descrip><p>
<sect1>RS232 device drivers<p>
<sect1>Passing arguments to the program<p>
-Command line argument passing is currently not supported for the C128.
+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>