From: MagerValp (MagerValp_at_cling.gu.se)
Date: 2003-01-13 14:08:53
>>>>> "TS" == Tim Schürmann <tischuer_at_web.de> writes: TS> I try to backup a hires graphic in memory by using malloc/memcpy. TS> Why does the following code won't work? As you can see, i'm using TS> loadkoala to exclude any other errors. The memory that you malloc here: TS> /* Allocating mem for backup */ TS> bitmap_buffer=(unsigned char*)malloc(8000); Gets overwritten by your copy here: TS> memcpy ((void*)0x2000, bitmap_buffer, 8000); As no special linker config was used for loadkoala, the memory at $2000 is available to cc65's heap and gets allocated by malloc. To protect $2000..$3fff, use a linker config like this: MEMORY { ZP: start = $02, size = $1A, type = rw; RAM1: start = $7FF, size = $1801, define = yes, file = %O; RAM2: start = $4000, size = $9000, define = yes, file = %O; } SEGMENTS { CODE: load = RAM1, type = wprot; RODATA: load = RAM1, type = wprot; DATA: load = RAM1, type = rw; BSS: load = RAM2, type = bss, define = yes; ZEROPAGE: load = ZP, type = zp; } FEATURES { CONDES: segment = RODATA, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } SYMBOLS { __STACKSIZE__ = $800; # 2K stack } This will use $0800..$1fff for code and $4000..$cfff for the dynamically allocated data. I *think* :) -- ___ . . . . . + . . o _|___|_ + . + . + . Per Olofsson, arkadspelare o-o . . . o + MagerValp_at_cling.gu.se - + + . http://www.cling.gu.se/~cl3polof/ ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2003-01-13 14:10:13 CET