From 75b0f4fcdec3569829d19387ee480ef80afe453d Mon Sep 17 00:00:00 2001 From: cuz Date: Fri, 14 Sep 2001 21:30:12 +0000 Subject: [PATCH] Updates for the CBM510 git-svn-id: svn://svn.cc65.org/cc65/trunk@929 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- doc/cc65.sgml | 11 +++-- doc/ld65.sgml | 111 ++++++++++++++++++++++++++++++++++++----------- doc/library.sgml | 9 ++-- 3 files changed, 98 insertions(+), 33 deletions(-) diff --git a/doc/cc65.sgml b/doc/cc65.sgml index f2461389c..cbe9f19b9 100644 --- a/doc/cc65.sgml +++ b/doc/cc65.sgml @@ -194,8 +194,9 @@ Here is a description of all the command line options: atari c64 c128 - plus4 - cbm610 (all CBM series-II computers with 80 column video) + plus4 + cbm510 (CBM-II series with 40 column video) + cbm610 (all CBM-II II computers with 80 column video) pet (all CBM PET systems except the 2001) apple2 geos @@ -368,7 +369,7 @@ and the one defined by the ISO standard: parameter list in a C function.

Functions may not return structs (or unions), and structs may not be - passed as parameters by value. However, struct assignment *is* + passed as parameters by value. However, struct assignment *is* possible.

Part of the C library is available only with fastcall calling @@ -525,6 +526,10 @@ The compiler defines several macros at startup: This macro is defined if the target is the plus/4 (-t plus4). + __CBM510__ + + This macro is defined if the target is the CBM 500 series of computers. + __CBM610__ This macro is defined if the target is one of the CBM 600/700 family of diff --git a/doc/ld65.sgml b/doc/ld65.sgml index 875e4abea..94335f260 100644 --- a/doc/ld65.sgml +++ b/doc/ld65.sgml @@ -120,6 +120,7 @@ Here is a description of all the command line options: c64 c128 plus4 + cbm510 (CBM-II series with 40 column video) cbm610 (all CBM series-II computers with 80 column video) pet (all CBM PET systems except the 2001) apple2 @@ -690,13 +691,16 @@ types: } FEATURES { CONDES: segment = RODATA, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; + } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack } @@ -705,7 +709,7 @@ types: MEMORY { ZP: start = $82, size = $7E, type = rw; HEADER: start = $0000, size = $6, file = %O; - RAM: start = $1F00, size = $9D1F, file = %O; + RAM: start = $1F00, size = $9D1F, file = %O; # $9D1F: matches upper bound $BC1F } SEGMENTS { EXEHDR: load = HEADER, type = wprot; @@ -718,13 +722,16 @@ types: } FEATURES { CONDES: segment = RODATA, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; + } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack } @@ -732,7 +739,7 @@ types: MEMORY { ZP: start = $02, size = $1A, type = rw; - RAM: start = $7FF, size = $c801, file = %O; + RAM: start = $7FF, size = $c801, define = yes, file = %O; } SEGMENTS { CODE: load = RAM, type = wprot; @@ -743,23 +750,24 @@ types: } FEATURES { CONDES: segment = RODATA, - type = constructor, - label = __CONSTRUCTOR_TABLE__, - count = __CONSTRUCTOR_COUNT__; + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, - type = destructor, - label = __DESTRUCTOR_TABLE__, - count = __DESTRUCTOR_COUNT__; + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; + } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack } - - c128 MEMORY { ZP: start = $02, size = $1A, type = rw; - RAM: start = $1bff, size = $a401, file = %O; + RAM: start = $1bff, size = $a401, define = yes, file = %O; } SEGMENTS { CODE: load = RAM, type = wprot; @@ -777,6 +785,13 @@ types: type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; + CONDES: segment = RODATA, + type = 2, + label = __IRQFUNC_TABLE__, + count = __IRQFUNC_COUNT__; + } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack } @@ -803,6 +818,38 @@ types: label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack + } + + +cbm510 + + MEMORY { + ZP: start = $02, size = $1A, type = rw; + RAM: start = $0001, size = $F3FF, file = %O; + VIDRAM: start = $F400, size = $0400, define = yes, file = ""; + } + SEGMENTS { + CODE: load = RAM, type = wprot; + RODATA: load = RAM, type = wprot; + DATA: load = RAM, type = rw; + BSS: load = RAM, 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__ = $781; # ~2K stack + } cbm610 @@ -828,6 +875,9 @@ types: label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack + } pet @@ -849,10 +899,13 @@ types: label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, - type = destructor, + type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack + } apple2 @@ -878,13 +931,16 @@ types: label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack + } geos MEMORY { HEADER: start = $204, size = 508, file = %O; - RAM: start = $400, size = $7C00, file = %O; + RAM: start = $400, size = $5C00, file = %O; } SEGMENTS { HEADER: load = HEADER, type = ro; @@ -903,6 +959,9 @@ types: label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; } + SYMBOLS { + __STACKSIZE__ = $800; # 2K stack + } @@ -924,7 +983,7 @@ name="uz@cc65.org">). Copyright

-ld65 (and all cc65 binutils) are (C) Copyright 1998-2000 Ullrich von +ld65 (and all cc65 binutils) are (C) Copyright 1998-2001 Ullrich von Bassewitz. For usage of the binaries and/or sources the following conditions do apply: diff --git a/doc/library.sgml b/doc/library.sgml index 0ed89a7b1..b284480db 100644 --- a/doc/library.sgml +++ b/doc/library.sgml @@ -165,7 +165,7 @@ and keyboard I/O. The functions will write directly to the screen or poll the keyboard directly with no more help from the operating system than needed. This has some disadvantages, but on the other side it's fast and reasonably portable. conio implementations exist for the following targets: - + atari c64 @@ -192,12 +192,13 @@ symbol Using a mouse - -Some target machines support a mouse. Mouse support is currently in beta and -available for the following targets: +Some target machines support a mouse. Mouse support is currently available for +the following targets: atari c64 + c128 The available functions are declared in ). Copyright

This C runtime library implementation for the cc65 compiler is (C) -Copyright 1998-1999 Ullrich von Bassewitz. For usage of the binaries +Copyright 1998-2001 Ullrich von Bassewitz. For usage of the binaries and/or sources the following conditions do apply: This software is provided 'as-is', without any expressed or implied -- 2.39.2