Re: [cc65] Setting aside Character Set ram

Date view Thread view Subject view

From: Ullrich von Bassewitz (
Date: 2002-10-19 19:37:41


On Fri, Oct 18, 2002 at 02:51:09PM -0500, Brian Bagnall wrote:
> First, do I alter c64.cfg in the doc directory? (seems strange that it's
> stored here)

It is in the doc directory, because this is just a copy of what is compiled
into ld65. It is thought as a reference and may be used as some sort of
documentation. To use it, create a copy in your program directory and use

        -C config-file-name

instead of

        -t c64

when calling the linker.

> Second, you mentioned the program is stored from $801 to $D000 but the
> c64.cfg file says $7FF to C801. Which is right?

The config file says

    RAM: start = $7FF, size = $c801, define = yes, file = %O;

So the RAM area starts at $7FF (this includes the two byte load address on
disk, so the actual start address is the BASIC start, $801) and is $C801 in
*size*. If you add both numbers you get

        $7FF + $C801 = $D000

which equals the end address I've mentioned.

> Third, do you recommend setting aside memory at the start or end of this
> block?

Setting aside memory from the start of the block is problematic, since
programs generated with the default setup for the C64 will load as BASIC
programs and have a small BASIC header (to check that, load a cc65 generated
program and enter "LIST" before running it). The easier way is probably to use
memory at the end of the former RAM area. This brings in another problem: The
data must be moved into this range somehow. However, for most people, this
should be easier to solve than changing the cc65 startup file.



Ullrich von Bassewitz                        
To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.

Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2002-10-19 19:38:13 CEST