mirror of
https://github.com/cc65/cc65.git
synced 2025-02-05 04:37:23 +00:00
Added a new extended (and machine specific) zeropage segment named EXTZP.
Renamed GEOSZP to EXTZP. Added a --dump-config command that dumps a builtin linker config. git-svn-id: svn://svn.cc65.org/cc65/trunk@1987 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
2a567c4a32
commit
a9899eba15
@ -1,5 +1,5 @@
|
||||
MEMORY {
|
||||
ZP: start = $02, size = $1A, type = rw, define = yes;
|
||||
ZP: start = $02, size = $8E, type = rw, define = yes;
|
||||
RAM: start = $0001, size = $DFFF, file = %O;
|
||||
CHARRAM: start = $E000, size = $1000, define = yes, file = "";
|
||||
VIDRAM: start = $F000, size = $0400, define = yes, file = "";
|
||||
@ -10,6 +10,7 @@ SEGMENTS {
|
||||
DATA: load = RAM, type = rw;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
EXTZP: load = ZP, type = zp, define = yes;
|
||||
}
|
||||
FEATURES {
|
||||
CONDES: segment = RODATA,
|
||||
|
@ -1,5 +1,5 @@
|
||||
MEMORY {
|
||||
ZP: start = $02, size = $1A, type = rw, define = yes;
|
||||
ZP: start = $02, size = $8E, type = rw, define = yes;
|
||||
RAM: start = $0001, size = $FFF0, file = %O;
|
||||
}
|
||||
SEGMENTS {
|
||||
@ -8,6 +8,7 @@ SEGMENTS {
|
||||
DATA: load = RAM, type = rw;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
EXTZP: load = ZP, type = zp, define = yes;
|
||||
}
|
||||
FEATURES {
|
||||
CONDES: segment = RODATA,
|
||||
|
@ -12,7 +12,7 @@ SEGMENTS {
|
||||
DATA: load = RAM, type = rw;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
GEOSZP: load = ZP, type = zp;
|
||||
EXTZP: load = ZP, type = zp;
|
||||
}
|
||||
FEATURES {
|
||||
CONDES: segment = RODATA,
|
||||
|
@ -9,6 +9,7 @@ SEGMENTS {
|
||||
DATA: load = COMBINED, type = rw, define = yes;
|
||||
BSS: load = COMBINED, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
EXTZP: load = ZP, type = zp;
|
||||
}
|
||||
FILES {
|
||||
%O: format = o65;
|
||||
|
@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2000 Ullrich von Bassewitz */
|
||||
/* Wacholderweg 14 */
|
||||
/* D-70597 Stuttgart */
|
||||
/* EMail: uz@musoftware.de */
|
||||
/* (C) 1998-2003 Ullrich von Bassewitz */
|
||||
/* Römerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@ -36,7 +36,11 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
/* common */
|
||||
#include "cmdline.h"
|
||||
|
||||
/* ld65 */
|
||||
#include "error.h"
|
||||
|
||||
|
||||
@ -52,7 +56,7 @@ void Warning (const char* Format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, Format);
|
||||
fprintf (stderr, "Warning: ");
|
||||
fprintf (stderr, "%s: Warning: ", ProgName);
|
||||
vfprintf (stderr, Format, ap);
|
||||
putc ('\n', stderr);
|
||||
va_end (ap);
|
||||
@ -65,7 +69,7 @@ void Error (const char* Format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, Format);
|
||||
fprintf (stderr, "Error: ");
|
||||
fprintf (stderr, "%s: Error: ", ProgName);
|
||||
vfprintf (stderr, Format, ap);
|
||||
putc ('\n', stderr);
|
||||
va_end (ap);
|
||||
@ -79,7 +83,7 @@ void Internal (const char* Format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, Format);
|
||||
fprintf (stderr, "Internal error: ");
|
||||
fprintf (stderr, "%s: Internal error: ", ProgName);
|
||||
vfprintf (stderr, Format, ap);
|
||||
putc ('\n', stderr);
|
||||
va_end (ap);
|
||||
@ -87,4 +91,4 @@ void Internal (const char* Format, ...)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2002 Ullrich von Bassewitz */
|
||||
/* Wacholderweg 14 */
|
||||
/* D-70597 Stuttgart */
|
||||
/* EMail: uz@musoftware.de */
|
||||
/* (C) 1998-2003 Ullrich von Bassewitz */
|
||||
/* Römerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@ -103,6 +103,7 @@ static void Usage (void)
|
||||
"\n"
|
||||
"Long options:\n"
|
||||
" --config name\t\tUse linker config file\n"
|
||||
" --dump-config name\tDump a builtin configuration\n"
|
||||
" --help\t\tHelp (this text)\n"
|
||||
" --mapfile name\tCreate a map file\n"
|
||||
" --module-id id\tSpecify a module id\n"
|
||||
@ -236,6 +237,21 @@ static void OptDbgFile (const char* Opt attribute ((unused)), const char* Arg)
|
||||
|
||||
|
||||
|
||||
static void OptDumpConfig (const char* Opt attribute ((unused)), const char* Arg)
|
||||
/* Dump a builtin linker configuration */
|
||||
{
|
||||
/* Map the given target name to its id */
|
||||
target_t T = FindTarget (Arg);
|
||||
if (T == TGT_UNKNOWN) {
|
||||
Error ("Target system `%s' is unknown", Arg);
|
||||
}
|
||||
|
||||
/* Dump the builtin configuration */
|
||||
DumpBuiltinConfig (stdout, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void OptHelp (const char* Opt attribute ((unused)),
|
||||
const char* Arg attribute ((unused)))
|
||||
/* Print usage information and exit */
|
||||
@ -314,6 +330,7 @@ int main (int argc, char* argv [])
|
||||
static const LongOpt OptTab[] = {
|
||||
{ "--config", 1, OptConfig },
|
||||
{ "--dbgfile", 1, OptDbgFile },
|
||||
{ "--dump-config", 1, OptDumpConfig },
|
||||
{ "--help", 0, OptHelp },
|
||||
{ "--mapfile", 1, OptMapFile },
|
||||
{ "--module-id", 1, OptModuleId },
|
||||
|
@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2002 Ullrich von Bassewitz */
|
||||
/* Wacholderweg 14 */
|
||||
/* D-70597 Stuttgart */
|
||||
/* EMail: uz@musoftware.de */
|
||||
/* (C) 1998-2003 Ullrich von Bassewitz */
|
||||
/* Römerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@ -33,6 +33,10 @@
|
||||
|
||||
|
||||
|
||||
/* common */
|
||||
#include "check.h"
|
||||
|
||||
/* ld65 */
|
||||
#include "binfmt.h"
|
||||
#include "tgtcfg.h"
|
||||
|
||||
@ -96,4 +100,21 @@ const TargetDesc Targets [TGT_COUNT] = {
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Code */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
void DumpBuiltinConfig (FILE* F, target_t T)
|
||||
/* Dump a builtin linker configuration */
|
||||
{
|
||||
/* Check the given parameter */
|
||||
PRECONDITION (T > TGT_UNKNOWN && T < TGT_COUNT);
|
||||
|
||||
/* Dump the config */
|
||||
fprintf (F, "%s\n", Targets[T].Cfg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2000 Ullrich von Bassewitz */
|
||||
/* Wacholderweg 14 */
|
||||
/* D-70597 Stuttgart */
|
||||
/* EMail: uz@musoftware.de */
|
||||
/* (C) 1998-2003 Ullrich von Bassewitz */
|
||||
/* Römerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@ -38,6 +38,8 @@
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* common */
|
||||
#include "target.h"
|
||||
|
||||
@ -61,8 +63,18 @@ extern const TargetDesc Targets [TGT_COUNT];
|
||||
|
||||
|
||||
|
||||
/* End of tgtcfg.h */
|
||||
/*****************************************************************************/
|
||||
/* Code */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
void DumpBuiltinConfig (FILE* F, target_t T);
|
||||
/* Dump a builtin linker configuration */
|
||||
|
||||
|
||||
|
||||
/* End of tgtcfg.h */
|
||||
#endif
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user