46 lines
1.4 KiB
HTML
46 lines
1.4 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
|
||
|
<TITLE>Commodore 64 specific information for cc65: Memory layout</TITLE>
|
||
|
<LINK HREF="c64-4.html" REL=next>
|
||
|
<LINK HREF="c64-2.html" REL=previous>
|
||
|
<LINK HREF="c64.html#toc3" REL=contents>
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
<A HREF="c64-4.html">Next</A>
|
||
|
<A HREF="c64-2.html">Previous</A>
|
||
|
<A HREF="c64.html#toc3">Contents</A>
|
||
|
<HR>
|
||
|
<H2><A NAME="s3">3.</A> <A HREF="c64.html#toc3">Memory layout</A></H2>
|
||
|
|
||
|
|
||
|
<P>cc65 generated programs with the default setup run with the I/O area and the
|
||
|
kernal ROM enabled (memory under the kernal may be used for graphics or as
|
||
|
extended memory - see the sections about graphics and extended memory
|
||
|
drivers). The BASIC ROM is disabled, which gives a usable memory range of
|
||
|
$0800 - $CFFF. This means that kernal entry points may be called
|
||
|
directly, but using the BASIC ROM is not possible without additional code.</P>
|
||
|
<P>Special locations:</P>
|
||
|
<P>
|
||
|
<DL>
|
||
|
<DT><B>Text screen</B><DD><P>The text screen is located at $400 (as in the standard setup).</P>
|
||
|
|
||
|
<DT><B>Stack</B><DD><P>The C runtime stack is located at $CFFF and growing downwards.</P>
|
||
|
|
||
|
<DT><B>Heap</B><DD><P>The C heap is located at the end of the program and grows towards the C
|
||
|
runtime stack.</P>
|
||
|
|
||
|
</DL>
|
||
|
</P>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<HR>
|
||
|
<A HREF="c64-4.html">Next</A>
|
||
|
<A HREF="c64-2.html">Previous</A>
|
||
|
<A HREF="c64.html#toc3">Contents</A>
|
||
|
</BODY>
|
||
|
</HTML>
|