]> git.sur5r.net Git - cc65/blobdiff - doc/vic20.sgml
Added note on the necessity of tab chars at the beginning of make command lines.
[cc65] / doc / vic20.sgml
index b3af79c6d920a7c0e23a759819aa10bf3e16ef15..a99e87c708869942f5bf75528314daba780c2142 100644 (file)
@@ -41,9 +41,9 @@ config.
 
 <sect>Memory layout<p>
 
-cc65 generated programs with the default setup run with the I/O area and the
-kernal and BASIC ROM enabled (RAM at &dollar;A000 - &dollar;BFFF may be used
-for the heap), which gives a usable memory range of &dollar;1000 - &dollar;1DFF.
+cc65 generated programs with the default setup run with unexpanded memory
+(RAM at &dollar;A000 - &dollar;BFFF may be used for the heap),
+which gives a usable memory range of &dollar;1000 - &dollar;1DFF.
 All ROM entry points may be called directly without additional code.
 
 Special locations:
@@ -73,12 +73,8 @@ common to all CBM platforms.
 
 <sect1>VIC20 specific functions<p>
 
-The functions listed below are special for the VIC20. See the <htmlurl
-url="funcref.html" name="function reference"> for declaration and usage.
+There are currently no special VIC20 functions.
 
-<itemize>
-<item>get_ostype
-</itemize>
 
 
 <sect1>CBM specific functions<p>
@@ -157,6 +153,12 @@ No extended memory drivers are currently available for the VIC20.
   <tag><tt/vic20-stdjoy.joy/</tag>
   Supports one standard joystick connected to the joysticks port of the VIC20.
 
+  <tag><tt/vic20-ptvjoy.joy/</tag>
+  Driver for the Protovision 4-player adapter contributed by Groepaz. 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 three joysticks are supported.
+
 </descrip><p>
 
 
@@ -204,6 +206,28 @@ The program return code (low byte) is passed back to BASIC by use of the
 <tt/ST/ variable.
 
 
+<sect1>Using extended memory<p>
+
+The extended memory at $A000 may be added to the heap by using the following
+code:
+
+<tscreen><verb>
+    /* Check for the existence of RAM */
+    if (PEEK(0xA000) == POKE(0xA000, PEEK(0xA000)+1)) {<br>
+        /* Add it to the heap */
+        _heapadd ((void *) 0xA000, 0x2000);
+    }
+</verb></tscreen>
+
+
+<sect1>Interrupts<p>
+
+The runtime for the VIC20 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>