Re: [cc65] [ld65] Overwriting fillval for one segment only?

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2012-09-11 22:19:02
Hi!

On Tue, Sep 11, 2012 at 10:02:34PM +0200, Spiro Trikaliotis wrote:
> 0000000: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f  ................
> 0000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
> 0000020: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f  PQRSTUVWXYZ[\]^_
> 0000030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
> 0000040: a0 11 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af  ................
> 0000050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
>
> I would have expected $30-$3f to have the value $aa. Am I missing
> something?

Why that? Your config is:

MEMORY {
  ZP:    start = $0000, size = $0100, type = rw, file = "";
  STACK: start = $0100, size = $0100, type = rw, file = "";
  ROM:   start = $c000, size = $0060, type = ro, fill = yes, fillval = $ff$
}
SEGMENTS {
  CODE1: load = ROM, type = ro;
  CODE2: load = ROM, type = ro, offset = $0020, fillval = $aa;
  CODE3: load = ROM, type = ro, offset = $0040;
}
  
All three code segments have a size of 16 bytes. The space between the
segments created by the "offset" attribute is not part of the segment and
therefore filled with the value from the memory area. This is according to
your rule #1 from http://www.cc65.org/mailarchive/2012-09/10807.html

1. The beginning is where the first defined byte of the segment is
   placed (that is, filler bytes before the first byte do not count),

Regards


        Uz


-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Tue Sep 11 22:19:14 2012

This archive was generated by hypermail 2.1.8 : 2012-09-11 22:19:17 CEST