<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 $A000 - $BFFF may be used
-for the heap), which gives a usable memory range of $1000 - $1DFF.
+cc65 generated programs with the default setup run with unexpanded memory
+(RAM at $A000 - $BFFF may be used for the heap),
+which gives a usable memory range of $1000 - $1DFF.
All ROM entry points may be called directly without additional code.
Special locations:
<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>
<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>
<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>