1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-08 20:31:31 +00:00

Updates for the CBM510

git-svn-id: svn://svn.cc65.org/cc65/trunk@929 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2001-09-14 21:30:12 +00:00
parent 295d853b89
commit 75b0f4fcde
3 changed files with 116 additions and 51 deletions

View File

@ -194,8 +194,9 @@ Here is a description of all the command line options:
<item>atari
<item>c64
<item>c128
<item>plus4
<item>cbm610 (all CBM series-II computers with 80 column video)
<item>plus4
<item>cbm510 (CBM-II series with 40 column video)
<item>cbm610 (all CBM-II II computers with 80 column video)
<item>pet (all CBM PET systems except the 2001)
<item>apple2
<item>geos
@ -368,7 +369,7 @@ and the one defined by the ISO standard:
parameter list in a C function.
<p>
<item> 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.
<p>
<item> 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).
<tag><tt>__CBM510__</tt></tag>
This macro is defined if the target is the CBM 500 series of computers.
<tag><tt>__CBM610__</tt></tag>
This macro is defined if the target is one of the CBM 600/700 family of

View File

@ -120,6 +120,7 @@ Here is a description of all the command line options:
<item>c64
<item>c128
<item>plus4
<item>cbm510 (CBM-II series with 40 column video)
<item>cbm610 (all CBM series-II computers with 80 column video)
<item>pet (all CBM PET systems except the 2001)
<item>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
}
</verb></tscreen>
@ -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
}
</verb></tscreen>
@ -732,34 +739,7 @@ types:
<tscreen><verb>
MEMORY {
ZP: start = $02, size = $1A, type = rw;
RAM: start = $7FF, size = $c801, file = %O;
}
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__;
}
</verb></tscreen>
<tag><tt>c128</tt></tag>
<tscreen><verb>
MEMORY {
ZP: start = $02, size = $1A, type = rw;
RAM: start = $1bff, size = $a401, file = %O;
RAM: start = $7FF, size = $c801, define = yes, file = %O;
}
SEGMENTS {
CODE: load = RAM, type = wprot;
@ -778,6 +758,41 @@ types:
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
}
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
</verb></tscreen>
<tag><tt>c128</tt></tag>
<tscreen><verb>
MEMORY {
ZP: start = $02, size = $1A, type = rw;
RAM: start = $1bff, size = $a401, define = yes, file = %O;
}
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__;
CONDES: segment = RODATA,
type = 2,
label = __IRQFUNC_TABLE__,
count = __IRQFUNC_COUNT__;
}
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
</verb></tscreen>
<tag><tt>plus4</tt></tag>
@ -803,6 +818,38 @@ types:
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
}
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
</verb></tscreen>
<tag><tt>cbm510</tt></tag>
<tscreen><verb>
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
}
</verb></tscreen>
<tag><tt>cbm610</tt></tag>
@ -828,6 +875,9 @@ types:
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
}
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
</verb></tscreen>
<tag><tt>pet</tt></tag>
@ -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
}
</verb></tscreen>
<tag><tt>apple2</tt></tag>
@ -878,13 +931,16 @@ types:
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
}
SYMBOLS {
__STACKSIZE__ = $800; # 2K stack
}
</verb></tscreen>
<tag><tt>geos</tt></tag>
<tscreen><verb>
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
}
</verb></tscreen>
</descrip>
@ -924,7 +983,7 @@ name="uz@cc65.org">).
<sect>Copyright<p>
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:

View File

@ -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:
<itemize>
<item>atari
<item>c64
@ -192,12 +192,13 @@ symbol <tt/__JOYSTICK__/ on systems that have a joystick.
<sect>Using a mouse - <tt/mouse.h/<p>
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:
<itemize>
<item>atari
<item>c64
<item>c128
</itemize>
The available functions are declared in <tt/mouse.h/ To help writing portable
@ -217,7 +218,7 @@ name="uz@cc65.org">).
<sect>Copyright<p>
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