]> git.sur5r.net Git - cc65/blobdiff - doc/c128.sgml
Added note on the necessity of tab chars at the beginning of make command lines.
[cc65] / doc / c128.sgml
index 91f61f9f9ab00c66bee91864a7488c49bfd9272e..ed5facfea56ad6126a8047524c0f526bf3d8a789 100644 (file)
@@ -2,7 +2,7 @@
 
 <article>
 
-<title>C128 specific information for cc65
+<title>Commodore 128 specific information for cc65
 <author>Ullrich von Bassewitz, <htmlurl url="mailto:uz@cc65.org" name="uz@cc65.org">
 <date>2003-12-14
 
@@ -43,12 +43,12 @@ config.
 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 &dollar;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 &dollar;1C00 - &dollar;CFFF. Having
+The setup gives a usable memory range of &dollar;1C00 - &dollar;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.
 
@@ -83,7 +83,7 @@ The functions listed below are special for the C128. See the <htmlurl
 url="funcref.html" name="function reference"> for declaration and usage.
 
 <itemize>
-<item>toggle_videomode
+<item>videomode
 <item>c64mode
 <item>fast
 <item>slow
@@ -146,9 +146,9 @@ structures, accessing the struct fields will access the chip registers.
   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 &dollar;D800.
@@ -166,16 +166,21 @@ memory drivers using the VDC memory!
 
 <descrip>
   <tag><tt/c128-vdc.tgi/</tag>
-  This driver 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 colors).
+  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 chosen out of the 16 VDC
+  colors).
 
   <tag><tt/c128-vdc2.tgi/</tag>
-  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 16 VDC colors).
+  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 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 <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>
 
@@ -191,8 +196,8 @@ memory drivers using the VDC memory!
   excluded, so this driver supports 251 pages of 256 bytes each.
 
   <tag><tt/c128-ramcart.emd/</tag>
-  A driver for the RamCart 64/128. Will test the hardware for the available
-  RAM.
+  A driver for the RamCart 64/128 written and contributed by Maciej Witkowiak.
+  Will test the hardware for the available RAM.
 
   <tag><tt/c128-reu.emd/</tag>
   A driver for the CBM REUs. The driver will determine from the connected REU
@@ -201,9 +206,10 @@ memory drivers using the VDC memory!
   it has better knowledge about the hardware than the driver.
 
   <tag><tt/c128-vdc.emd/</tag>
-  A driver for the VDC memory of the C128. Autodetects the amount of memory
-  available (16 or 64K) and offers 64 or 256 pages of 256 bytes each. Note:
-  This driver is incompatible with any of the graphics drivers using the VDC!
+  A driver for the VDC memory of the C128 written and contributed by Maciej
+  Witkowiak. Autodetects the amount of memory available (16 or 64K) and offers
+  64 or 256 pages of 256 bytes each. Note: This driver is incompatible with
+  any of the graphics drivers using the VDC!
 
 </descrip><p>
 
@@ -213,10 +219,11 @@ memory drivers using the VDC memory!
 <descrip>
 
   <tag><tt/c128-ptvjoy.joy/</tag>
-  Driver for the Protovision 4-player adapter. See
-  <htmlurl url="http://www.protovision-online.de/hardw/hardwstart.htm"
-  name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices
-  and building instructions. Up to four joysticks are supported.
+  Driver for the Protovision 4-player adapter originally written by Groepaz
+  for the C64 and converted for the C128 by me. See <htmlurl
+  url="http://www.protovision-online.de/hardw/hardwstart.htm"
+  name="http://www.protovision-online.de/hardw/hardwstart.htm"> for prices and
+  building instructions. Up to four joysticks are supported.
 
   <tag><tt/c128-stdjoy.joy/</tag>
   Supports up to two joysticks connected to the standard joysticks port of
@@ -228,8 +235,20 @@ memory drivers using the VDC memory!
 
 <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>
@@ -250,11 +269,36 @@ does not exist).
 
 
 
+<sect>Limitations<p>
+
+
+
 <sect>Other hints<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>
+
+The program return code (low byte) is passed back to BASIC by use of the
+<tt/ST/ variable.
 
 
 <sect1>Interrupts<p>
@@ -301,4 +345,4 @@ freely, subject to the following restrictions:
 
 
 
-                                                     
+