<title>VTech Creativision (aka Funvision) specific information for cc65
<author><url url="mailto:polluks+cc65@sdf.lonestar.org" name="Stefan A. Haubenthal">
-<date>2016-04-14
+<date>2017-11-15
<abstract>
An overview over the Creativision runtime system as it is implemented for the
<sect>Binary format<p>
The standard binary output format generated by the linker for the Creativision target
-is a 4 kbyte machine language program. It is of course possible to change
-this behaviour by using one of the different linker configs.
+is a 4 KB ROM image. To create an 8 KB ROM a custom linker script has
+to be used.
<sect>Memory layout<p>
-cc65 generated programs with the default setup run with the I/O area enabled,
-which gives a usable memory range of $B000 - $BEFF.
-More ROM may need additional bankswitching code.
+cc65 generated programs with the default setup are 4 KB in size,
+occupying $B000 - $BFFF. Usable memory space for the
+user program is $B000 - $BEFF. $BF00 -
+$BFFF is reserved for the runtime and cartridge configuration
+area.
Special locations:
The text screen is located at VRAM $1000.
<tag/Stack/
- The C runtime stack is located at $3FF and growing downwards.
+ The C runtime stack is located at $03FF and growing downwards.
+
+ <tag/RAM/
+ The available RAM for cc65 programs of an unexpanded Creativision
+ starts at $01FA and ends at $03FF.
<tag/Heap/
- The C heap is located at the end of the program and grows towards the C
- runtime stack.
+ The C heap is located at the end of the program's data area and
+ grows towards the C runtime stack.
</descrip><p>