]> git.sur5r.net Git - cc65/blobdiff - doc/c64.sgml
Doc update for the georam emd driver.
[cc65] / doc / c64.sgml
index 5aac45af2a81645fc410232d83975b0aec9965f6..e912882112fa3beaec253758aa5abe1cd525c3ff 100644 (file)
@@ -32,10 +32,10 @@ information.
 <sect>Binary format<p>
 
 The standard binary output format generated by the linker for the C64 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.
+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>
@@ -133,9 +133,9 @@ structures, accessing the struct fields will access the chip registers.
   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.
@@ -156,7 +156,7 @@ configuration.
 <descrip>
   <tag><tt/c64-hi.tgi/</tag>
   This driver features a resolution of 320*200 with two colors and an
-  adjustable palette (that means that the two colors can be choosen out of a
+  adjustable palette (that means that the two colors can be chosen out of a
   palette of the 16 C64 colors).
 </descrip><p>
 
@@ -166,9 +166,9 @@ configuration.
 <descrip>
 
   <tag><tt/c64-georam.emd/</tag>
-  A driver for the GeoRam cartridge. The driver will always assume 2048 pages
-  of 256 bytes each. There are no checks, so if your program knows better,
-  just go ahead.
+  A driver for the Berkeley Softworks GeoRam cartridge. The driver will
+  determine the available RAM from the connected cartridge. It supports 64KB
+  up to 2048KB of RAM.
 
   <tag><tt/c64-ram.emd/</tag>
   A driver for the hidden RAM below the I/O area and kernal ROM. Supports 48
@@ -187,10 +187,14 @@ configuration.
 
   <tag><tt/c64-vdc.emd/</tag>
   A driver for the VDC memory of the C128. Written and contributed by Maciej
-  WitkowiakCan be used if the program is running in C64 mode of the C128.
+  WitkowiakCan be used if the program is running in C64 mode of the C128.
   Autodetects the amount of memory available (16 or 64K) and offers 64 or 256
   pages of 256 bytes each.
 
+  <tag><tt/dtv-himem.emd/</tag>
+  A driver for the C64 D2TV (the second or PAL version). This driver offers
+  indeed 7680 pages of 256 bytes each.
+
 </descrip><p>
 
 
@@ -214,14 +218,29 @@ configuration.
   Supports up to two standard joysticks connected to the joysticks port of
   the C64.
 
-</descrip><p>
+  <tag><tt/c64-numpad.joy/</tag>
+  Supports one joystick emulated by the numberpad of the C128 in C64 mode,
+  the firebutton is labeled &dquot;5&dquot; and ENTER.
 
+</descrip><p>
 
 
 <sect1>Mouse drivers<p>
 
-Currently no drivers available (in fact, the API for loadable mouse drivers
-does not exist).
+<descrip>
+
+  <tag><tt/c64-1351.mou/</tag>
+  Supports a standard mouse connected to port #0 of the C64.
+
+  <tag><tt/c64-joy.mou/</tag>
+  Supports a mouse emulated by a standard joystick e.g. 1350 mouse in port
+  #1 of the C64.
+
+  <tag><tt/c64-pot.mou/</tag>
+  Supports a potentiometer device e.g. Koala Pad connected to port #1 of
+  the C64.
+
+</descrip><p>
 
 
 <sect1>RS232 device drivers<p>
@@ -248,18 +267,20 @@ does not exist).
 <sect1>Passing arguments to the program<p>
 
 Command line arguments can be passed to <tt/main()/. Since this is not
-supported by BASIC, the following syntax was choosen:
+supported by BASIC, the following syntax was chosen:
 
 <tscreen><verb>
-    RUN:REM,ARG1," ARG2", ARG 3,, ARG5, ...
+    RUN:REM ARG1 " ARG2 IS QUOTED" ARG3 "" ARG5
 </verb></tscreen>
 
 <enum>
-<item>Arguments are separated by commas.
-<item>There must be a comma after the first <tt/REM/.
-<item>Leading spaces are ignored; trailing spaces are included unless the
-      argument was quoted.
+<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>
 
 
@@ -269,6 +290,16 @@ The program return code (low byte) is passed back to BASIC by use of the
 <tt/ST/ variable.
 
 
+<sect1>Interrupts<p>
+
+The runtime for the C64 uses routines marked as <tt/.CONDES/ type 2 for
+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 <tt/.CONDES/
+feature in the <htmlurl url="ca65.html" name="assembler manual">.
+
+
+
 <sect>Bugs/Feedback<p>
 
 If you have problems using the library, if you find any bugs, or if you're