mirror of
https://github.com/cc65/cc65.git
synced 2025-01-24 04:34:35 +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:
parent
295d853b89
commit
75b0f4fcde
@ -194,8 +194,9 @@ Here is a description of all the command line options:
|
|||||||
<item>atari
|
<item>atari
|
||||||
<item>c64
|
<item>c64
|
||||||
<item>c128
|
<item>c128
|
||||||
<item>plus4
|
<item>plus4
|
||||||
<item>cbm610 (all CBM series-II computers with 80 column video)
|
<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>pet (all CBM PET systems except the 2001)
|
||||||
<item>apple2
|
<item>apple2
|
||||||
<item>geos
|
<item>geos
|
||||||
@ -368,7 +369,7 @@ and the one defined by the ISO standard:
|
|||||||
parameter list in a C function.
|
parameter list in a C function.
|
||||||
<p>
|
<p>
|
||||||
<item> Functions may not return structs (or unions), and structs may not be
|
<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.
|
possible.
|
||||||
<p>
|
<p>
|
||||||
<item> Part of the C library is available only with fastcall calling
|
<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).
|
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>
|
<tag><tt>__CBM610__</tt></tag>
|
||||||
|
|
||||||
This macro is defined if the target is one of the CBM 600/700 family of
|
This macro is defined if the target is one of the CBM 600/700 family of
|
||||||
|
147
doc/ld65.sgml
147
doc/ld65.sgml
@ -120,6 +120,7 @@ Here is a description of all the command line options:
|
|||||||
<item>c64
|
<item>c64
|
||||||
<item>c128
|
<item>c128
|
||||||
<item>plus4
|
<item>plus4
|
||||||
|
<item>cbm510 (CBM-II series with 40 column video)
|
||||||
<item>cbm610 (all CBM series-II computers with 80 column video)
|
<item>cbm610 (all CBM series-II computers with 80 column video)
|
||||||
<item>pet (all CBM PET systems except the 2001)
|
<item>pet (all CBM PET systems except the 2001)
|
||||||
<item>apple2
|
<item>apple2
|
||||||
@ -690,13 +691,16 @@ types:
|
|||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: segment = RODATA,
|
CONDES: segment = RODATA,
|
||||||
type = constructor,
|
type = constructor,
|
||||||
label = __CONSTRUCTOR_TABLE__,
|
label = __CONSTRUCTOR_TABLE__,
|
||||||
count = __CONSTRUCTOR_COUNT__;
|
count = __CONSTRUCTOR_COUNT__;
|
||||||
CONDES: segment = RODATA,
|
CONDES: segment = RODATA,
|
||||||
type = destructor,
|
type = destructor,
|
||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
}
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
@ -705,7 +709,7 @@ types:
|
|||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: start = $82, size = $7E, type = rw;
|
ZP: start = $82, size = $7E, type = rw;
|
||||||
HEADER: start = $0000, size = $6, file = %O;
|
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 {
|
SEGMENTS {
|
||||||
EXEHDR: load = HEADER, type = wprot;
|
EXEHDR: load = HEADER, type = wprot;
|
||||||
@ -718,13 +722,16 @@ types:
|
|||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: segment = RODATA,
|
CONDES: segment = RODATA,
|
||||||
type = constructor,
|
type = constructor,
|
||||||
label = __CONSTRUCTOR_TABLE__,
|
label = __CONSTRUCTOR_TABLE__,
|
||||||
count = __CONSTRUCTOR_COUNT__;
|
count = __CONSTRUCTOR_COUNT__;
|
||||||
CONDES: segment = RODATA,
|
CONDES: segment = RODATA,
|
||||||
type = destructor,
|
type = destructor,
|
||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
}
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
@ -732,34 +739,7 @@ types:
|
|||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
MEMORY {
|
MEMORY {
|
||||||
ZP: start = $02, size = $1A, type = rw;
|
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;
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
CODE: load = RAM, type = wprot;
|
CODE: load = RAM, type = wprot;
|
||||||
@ -778,6 +758,41 @@ types:
|
|||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
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>
|
</verb></tscreen>
|
||||||
|
|
||||||
<tag><tt>plus4</tt></tag>
|
<tag><tt>plus4</tt></tag>
|
||||||
@ -803,6 +818,38 @@ types:
|
|||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
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>
|
</verb></tscreen>
|
||||||
|
|
||||||
<tag><tt>cbm610</tt></tag>
|
<tag><tt>cbm610</tt></tag>
|
||||||
@ -828,6 +875,9 @@ types:
|
|||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
}
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
<tag><tt>pet</tt></tag>
|
<tag><tt>pet</tt></tag>
|
||||||
@ -849,10 +899,13 @@ types:
|
|||||||
label = __CONSTRUCTOR_TABLE__,
|
label = __CONSTRUCTOR_TABLE__,
|
||||||
count = __CONSTRUCTOR_COUNT__;
|
count = __CONSTRUCTOR_COUNT__;
|
||||||
CONDES: segment = RODATA,
|
CONDES: segment = RODATA,
|
||||||
type = destructor,
|
type = destructor,
|
||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
}
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
<tag><tt>apple2</tt></tag>
|
<tag><tt>apple2</tt></tag>
|
||||||
@ -878,13 +931,16 @@ types:
|
|||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
}
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
<tag><tt>geos</tt></tag>
|
<tag><tt>geos</tt></tag>
|
||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
MEMORY {
|
MEMORY {
|
||||||
HEADER: start = $204, size = 508, file = %O;
|
HEADER: start = $204, size = 508, file = %O;
|
||||||
RAM: start = $400, size = $7C00, file = %O;
|
RAM: start = $400, size = $5C00, file = %O;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
HEADER: load = HEADER, type = ro;
|
HEADER: load = HEADER, type = ro;
|
||||||
@ -903,6 +959,9 @@ types:
|
|||||||
label = __DESTRUCTOR_TABLE__,
|
label = __DESTRUCTOR_TABLE__,
|
||||||
count = __DESTRUCTOR_COUNT__;
|
count = __DESTRUCTOR_COUNT__;
|
||||||
}
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__STACKSIZE__ = $800; # 2K stack
|
||||||
|
}
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
</descrip>
|
</descrip>
|
||||||
@ -924,7 +983,7 @@ name="uz@cc65.org">).
|
|||||||
|
|
||||||
<sect>Copyright<p>
|
<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
|
Bassewitz. For usage of the binaries and/or sources the following
|
||||||
conditions do apply:
|
conditions do apply:
|
||||||
|
|
||||||
|
@ -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.
|
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
|
This has some disadvantages, but on the other side it's fast and reasonably
|
||||||
portable. conio implementations exist for the following targets:
|
portable. conio implementations exist for the following targets:
|
||||||
|
|
||||||
<itemize>
|
<itemize>
|
||||||
<item>atari
|
<item>atari
|
||||||
<item>c64
|
<item>c64
|
||||||
@ -192,12 +192,13 @@ symbol <tt/__JOYSTICK__/ on systems that have a joystick.
|
|||||||
|
|
||||||
<sect>Using a mouse - <tt/mouse.h/<p>
|
<sect>Using a mouse - <tt/mouse.h/<p>
|
||||||
|
|
||||||
Some target machines support a mouse. Mouse support is currently in beta and
|
Some target machines support a mouse. Mouse support is currently available for
|
||||||
available for the following targets:
|
the following targets:
|
||||||
|
|
||||||
<itemize>
|
<itemize>
|
||||||
<item>atari
|
<item>atari
|
||||||
<item>c64
|
<item>c64
|
||||||
|
<item>c128
|
||||||
</itemize>
|
</itemize>
|
||||||
|
|
||||||
The available functions are declared in <tt/mouse.h/ To help writing portable
|
The available functions are declared in <tt/mouse.h/ To help writing portable
|
||||||
@ -217,7 +218,7 @@ name="uz@cc65.org">).
|
|||||||
<sect>Copyright<p>
|
<sect>Copyright<p>
|
||||||
|
|
||||||
This C runtime library implementation for the cc65 compiler is (C)
|
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:
|
and/or sources the following conditions do apply:
|
||||||
|
|
||||||
This software is provided 'as-is', without any expressed or implied
|
This software is provided 'as-is', without any expressed or implied
|
||||||
|
Loading…
x
Reference in New Issue
Block a user