mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 04:30:10 +00:00
commit
82f55a930a
@ -73,7 +73,7 @@ system takes care of actually moving the code into the Language Card.
|
|||||||
|
|
||||||
The amount of memory available in the Language Card for generated code depends
|
The amount of memory available in the Language Card for generated code depends
|
||||||
on the <ref id="link-configs" name="linker configuration"> parameters. There are
|
on the <ref id="link-configs" name="linker configuration"> parameters. There are
|
||||||
several usefull settings:
|
several useful settings:
|
||||||
|
|
||||||
<descrip>
|
<descrip>
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ system takes care of actually moving the code into the Language Card.
|
|||||||
|
|
||||||
The amount of memory available in the Language Card for generated code depends
|
The amount of memory available in the Language Card for generated code depends
|
||||||
on the <ref id="link-configs" name="linker configuration"> parameters. There are
|
on the <ref id="link-configs" name="linker configuration"> parameters. There are
|
||||||
several usefull settings:
|
several useful settings:
|
||||||
|
|
||||||
<descrip>
|
<descrip>
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ With the default load address of $2400 this gives a usable memory range o
|
|||||||
[$2400-$CFFF].
|
[$2400-$CFFF].
|
||||||
|
|
||||||
Please note that the first load chunk (which checks the system
|
Please note that the first load chunk (which checks the system
|
||||||
compatibilty and available memory) will always be loaded at
|
compatibility and available memory) will always be loaded at
|
||||||
$2E00, regardless of the specified start address. This address
|
$2E00, regardless of the specified start address. This address
|
||||||
can only be changed by a custom linker config file.
|
can only be changed by a custom linker config file.
|
||||||
|
|
||||||
@ -305,7 +305,7 @@ The names are the usual ones you can find in system reference manuals. Example:
|
|||||||
...
|
...
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
Please note that memory location 762/$2FA is called "<tt/char_/" while the orignal name "<tt/char/" conflicts with the C keyword.
|
Please note that memory location 762/$2FA is called "<tt/char_/" while the original name "<tt/char/" conflicts with the C keyword.
|
||||||
|
|
||||||
If you like to use the OS names and locations for the original Atari 800 operating system, please "<tt/#define OSA/" before including the
|
If you like to use the OS names and locations for the original Atari 800 operating system, please "<tt/#define OSA/" before including the
|
||||||
<tt/atari.h/ header file.
|
<tt/atari.h/ header file.
|
||||||
@ -401,7 +401,7 @@ OS.sdlst = &DisplayList;
|
|||||||
...
|
...
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
Please inspect the <tt/_antic.h/ header file to detemine the supported
|
Please inspect the <tt/_antic.h/ header file to determine the supported
|
||||||
instruction names. Modifiers on instructions can be nested without need
|
instruction names. Modifiers on instructions can be nested without need
|
||||||
for an order:
|
for an order:
|
||||||
|
|
||||||
@ -410,7 +410,7 @@ for an order:
|
|||||||
Please mind that ANTIC has memory alignment requirements for "player
|
Please mind that ANTIC has memory alignment requirements for "player
|
||||||
missile graphics"-data, font data, display lists and screen memory. Creation
|
missile graphics"-data, font data, display lists and screen memory. Creation
|
||||||
of a special linker configuration with appropriate aligned segments and
|
of a special linker configuration with appropriate aligned segments and
|
||||||
switching to that segment in the c-code is usually neccessary. A more memory
|
switching to that segment in the c-code is usually necessary. A more memory
|
||||||
hungry solution consists in using the "<tt/posix_memalign()/" function in
|
hungry solution consists in using the "<tt/posix_memalign()/" function in
|
||||||
conjunction with copying your data to the allocated memory.
|
conjunction with copying your data to the allocated memory.
|
||||||
|
|
||||||
@ -1146,8 +1146,8 @@ ld65: Error: Missing memory area assignment for segment 'MAINHDR'
|
|||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
The old "HEADER" memory description contained six bytes: $FFFF
|
The old "HEADER" memory description contained six bytes: $FFFF
|
||||||
and the first and last memory addess of the program. For the "system
|
and the first and last memory address of the program. For the "system
|
||||||
check" load chunk this had to be split into two memory assigments. The
|
check" load chunk this had to be split into two memory assignments The
|
||||||
"HEADER" now only contains the $FFFF. The main program's first
|
"HEADER" now only contains the $FFFF. The main program's first
|
||||||
and last memory address were moved to a new segment, called "MAINHDR",
|
and last memory address were moved to a new segment, called "MAINHDR",
|
||||||
which in the new linker config file goes into its own memory area (also
|
which in the new linker config file goes into its own memory area (also
|
||||||
|
@ -237,7 +237,7 @@ The runtime library provides a default game name which is "cc65
|
|||||||
compiled". To change that, one has to link a file which puts data into
|
compiled". To change that, one has to link a file which puts data into
|
||||||
the "<tt/CARTNAME/" segment.
|
the "<tt/CARTNAME/" segment.
|
||||||
|
|
||||||
For reference, here's the default version used by the cc65 libary:
|
For reference, here's the default version used by the cc65 library:
|
||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
.export __CART_NAME__: absolute = 1
|
.export __CART_NAME__: absolute = 1
|
||||||
.macpack atari
|
.macpack atari
|
||||||
|
@ -301,7 +301,7 @@ Here is a description of all the command line options:
|
|||||||
compiler, see there for a list.
|
compiler, see there for a list.
|
||||||
|
|
||||||
Depending on the target, the default CPU type is also set. This can be
|
Depending on the target, the default CPU type is also set. This can be
|
||||||
overriden by using the <tt/<ref id="option--cpu" name="--cpu">/ option.
|
overridden by using the <tt/<ref id="option--cpu" name="--cpu">/ option.
|
||||||
|
|
||||||
|
|
||||||
<label id="option-v">
|
<label id="option-v">
|
||||||
|
@ -395,7 +395,7 @@ Here is a description of all the command line options:
|
|||||||
|
|
||||||
This option is used to set the target system. The target system determines
|
This option is used to set the target system. The target system determines
|
||||||
the character set that is used for strings and character constants and the
|
the character set that is used for strings and character constants and the
|
||||||
default CPU. The CPU setting can be overriden by use of the <tt/<ref
|
default CPU. The CPU setting can be overridden by use of the <tt/<ref
|
||||||
id="option--cpu" name="--cpu">/ option.
|
id="option--cpu" name="--cpu">/ option.
|
||||||
|
|
||||||
The following target systems are supported:
|
The following target systems are supported:
|
||||||
@ -1250,7 +1250,7 @@ parameter with the <tt/#pragma/.
|
|||||||
|
|
||||||
This pragma is used to display informational messages at compile-time.
|
This pragma is used to display informational messages at compile-time.
|
||||||
|
|
||||||
The message intented to be displayed must be a string literal.
|
The message intended to be displayed must be a string literal.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
@ -1369,7 +1369,7 @@ parameter with the <tt/#pragma/.
|
|||||||
Switch compiler warnings on or off. "name" is the name of a warning (see the
|
Switch compiler warnings on or off. "name" is the name of a warning (see the
|
||||||
<tt/<ref name="-W" id="option-W">/ compiler option for a list). The name is
|
<tt/<ref name="-W" id="option-W">/ compiler option for a list). The name is
|
||||||
followed either by "pop", which restores the last pushed state, or by "on" or
|
followed either by "pop", which restores the last pushed state, or by "on" or
|
||||||
"off", optionally preceeded by "push" to push the current state before
|
"off", optionally preceded by "push" to push the current state before
|
||||||
changing it.
|
changing it.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
@ -57,11 +57,11 @@ Short options:
|
|||||||
-O Optimize code
|
-O Optimize code
|
||||||
-Oi Optimize code, inline more code
|
-Oi Optimize code, inline more code
|
||||||
-Or Optimize code, honour the register keyword
|
-Or Optimize code, honour the register keyword
|
||||||
-Os Optimize code, inline standard funtions
|
-Os Optimize code, inline standard functions
|
||||||
-S Compile but don't assemble and link
|
-S Compile but don't assemble and link
|
||||||
-T Include source as comment
|
-T Include source as comment
|
||||||
-V Print the version number
|
-V Print the version number
|
||||||
-W name[,...] Supress compiler warnings
|
-W name[,...] Suppress compiler warnings
|
||||||
-Wa options Pass options to the assembler
|
-Wa options Pass options to the assembler
|
||||||
-Wc options Pass options to the compiler
|
-Wc options Pass options to the compiler
|
||||||
-Wl options Pass options to the linker
|
-Wl options Pass options to the linker
|
||||||
|
@ -235,12 +235,12 @@ things to be different from runtime loading:
|
|||||||
|
|
||||||
<item> Without changing the segment names, all segments take the default
|
<item> Without changing the segment names, all segments take the default
|
||||||
names used by the standard linker configurations. This means that the
|
names used by the standard linker configurations. This means that the
|
||||||
driver code is no longer contingous in memory, instead the code
|
driver code is no longer contiguous in memory, instead the code
|
||||||
segment is placed somewhere in between all other code segments, the
|
segment is placed somewhere in between all other code segments, the
|
||||||
data segment is placed with all other data segments and so on. If the
|
data segment is placed with all other data segments and so on. If the
|
||||||
driver doesn't do strange things this shouldn't be a problem.
|
driver doesn't do strange things this shouldn't be a problem.
|
||||||
|
|
||||||
<item> With statically linked code, data and bss segments will get intialized
|
<item> With statically linked code, data and bss segments will get initialized
|
||||||
once (when the application is loaded), while a loadable driver will
|
once (when the application is loaded), while a loadable driver will
|
||||||
get its initialization each time the driver is loaded into memory
|
get its initialization each time the driver is loaded into memory
|
||||||
(which may be more than once in the lifetime of a program). It depends
|
(which may be more than once in the lifetime of a program). It depends
|
||||||
|
@ -59,7 +59,7 @@ slower than the same code for unsigned types.
|
|||||||
|
|
||||||
<sect>Use chars instead of ints if possible<p>
|
<sect>Use chars instead of ints if possible<p>
|
||||||
|
|
||||||
While in arithmetic operations, chars are immidiately promoted to ints, they
|
While in arithmetic operations, chars are immediately promoted to ints, they
|
||||||
are passed as chars in parameter lists and are accessed as chars in variables.
|
are passed as chars in parameter lists and are accessed as chars in variables.
|
||||||
The code generated is usually not much smaller, but it is faster, since
|
The code generated is usually not much smaller, but it is faster, since
|
||||||
accessing chars is faster. For several operations, the generated code may be
|
accessing chars is faster. For several operations, the generated code may be
|
||||||
|
@ -156,7 +156,7 @@ Here is a description of all the command line options:
|
|||||||
<tag><tt>-i name, --info name</tt></tag>
|
<tag><tt>-i name, --info name</tt></tag>
|
||||||
|
|
||||||
Specify an info file. The info file contains global options that may
|
Specify an info file. The info file contains global options that may
|
||||||
override or replace command line options plus informations about the code
|
override or replace command line options plus information about the code
|
||||||
that has to be disassembled. See the separate section <ref id="infofile"
|
that has to be disassembled. See the separate section <ref id="infofile"
|
||||||
name="Info File Format">.
|
name="Info File Format">.
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ transfer the program to the real machine until it is done.
|
|||||||
|
|
||||||
<item>An emulator allows many things that are almost impossible one of the
|
<item>An emulator allows many things that are almost impossible one of the
|
||||||
original machines. You may set watchpoints (detect read or write access to
|
original machines. You may set watchpoints (detect read or write access to
|
||||||
arbitary addresses), debug interrupt handlers and even debug routines that run
|
arbitrary addresses), debug interrupt handlers and even debug routines that run
|
||||||
inside the 1541 floppy.
|
inside the 1541 floppy.
|
||||||
|
|
||||||
<item>You may use the label file generated by the linker to make much more use
|
<item>You may use the label file generated by the linker to make much more use
|
||||||
@ -117,7 +117,7 @@ these warnings and errors as long as they reference any problems VICE thinks
|
|||||||
it has with the labels.
|
it has with the labels.
|
||||||
|
|
||||||
After loading the labels, they are used by VICE in the disassembler listing,
|
After loading the labels, they are used by VICE in the disassembler listing,
|
||||||
and you may use them whereever you need to specify an address. Try
|
and you may use them wherever you need to specify an address. Try
|
||||||
|
|
||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
d ._main
|
d ._main
|
||||||
@ -138,7 +138,7 @@ load your label file like this:
|
|||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
After loading the labels, they are used by Oricutron in the disassembler listing,
|
After loading the labels, they are used by Oricutron in the disassembler listing,
|
||||||
and you may use them whereever you need to specify an address. Try
|
and you may use them wherever you need to specify an address. Try
|
||||||
|
|
||||||
<tscreen><verb>
|
<tscreen><verb>
|
||||||
d ._main
|
d ._main
|
||||||
|
@ -207,7 +207,7 @@ see them together in the filling box in GeoPaint.
|
|||||||
<p>
|
<p>
|
||||||
<tt/void GraphicsString (const void *myGString)/
|
<tt/void GraphicsString (const void *myGString)/
|
||||||
<p>
|
<p>
|
||||||
One of the more powerfull routines of GEOS. This function calls other graphic functions depending
|
One of the more powerful routines of GEOS. This function calls other graphic functions depending
|
||||||
on the given command string. See the structures chapter for a more detailed description.
|
on the given command string. See the structures chapter for a more detailed description.
|
||||||
|
|
||||||
<sect2>Rectangle functions
|
<sect2>Rectangle functions
|
||||||
@ -652,7 +652,7 @@ For some purposes you might consider using the <tt/dio.h/ interface to disk acce
|
|||||||
<p>
|
<p>
|
||||||
All GEOS disk functions return an error code in the X register. In some cases this is returned by the
|
All GEOS disk functions return an error code in the X register. In some cases this is returned by the
|
||||||
GEOSLib function (if its type is <tt/char/), but in all cases the last error is saved in the <tt/__oserror/
|
GEOSLib function (if its type is <tt/char/), but in all cases the last error is saved in the <tt/__oserror/
|
||||||
location. If it is nonzero - an error occured. See <tt/gdisk.h/ for the list of possible errorcodes.
|
location. If it is nonzero - an error occurred. See <tt/gdisk.h/ for the list of possible errorcodes.
|
||||||
You need to include <tt/errno.h/ to get <tt/__oserror/, together with the standard <tt/errno/. The
|
You need to include <tt/errno.h/ to get <tt/__oserror/, together with the standard <tt/errno/. The
|
||||||
latter gives less verbose, but still usable information and can be used with <tt/strerror/.
|
latter gives less verbose, but still usable information and can be used with <tt/strerror/.
|
||||||
Probably you will get more information using <tt/_stroserror/ in a similar way.
|
Probably you will get more information using <tt/_stroserror/ in a similar way.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<url url="mailto:greg.king5@verizon.net" name="Greg King">
|
<url url="mailto:greg.king5@verizon.net" name="Greg King">
|
||||||
|
|
||||||
<abstract>
|
<abstract>
|
||||||
This document describes a compiler that can create GEOS headers and menues for
|
This document describes a compiler that can create GEOS headers and menus for
|
||||||
cc65-compiled programs.
|
cc65-compiled programs.
|
||||||
</abstract>
|
</abstract>
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ Optional resources might be menu definitions, other headers (e.g., for data
|
|||||||
files of an app.), dialog definitions, etc. Without an application's header,
|
files of an app.), dialog definitions, etc. Without an application's header,
|
||||||
GEOS is unable to load and start it.
|
GEOS is unable to load and start it.
|
||||||
|
|
||||||
Currently, <bf/grc65/ supports only menues and the required header definition,
|
Currently, <bf/grc65/ supports only menus and the required header definition,
|
||||||
along with support for building applications with VLIR-structured overlays.
|
along with support for building applications with VLIR-structured overlays.
|
||||||
|
|
||||||
<bf/grc65/ generates output in two formats: C header and <bf/ca65/ source (.s).
|
<bf/grc65/ generates output in two formats: C header and <bf/ca65/ source (.s).
|
||||||
@ -345,7 +345,7 @@ for addresses.
|
|||||||
<!-- <appendix> -->
|
<!-- <appendix> -->
|
||||||
<sect>Appendix A -- example.grc<label id="example-grc">
|
<sect>Appendix A -- example.grc<label id="example-grc">
|
||||||
<p><tscreen><verb>
|
<p><tscreen><verb>
|
||||||
; Note that MENU can define both menues and submenues.
|
; Note that MENU can define both menus and submenus.
|
||||||
; If you want to use any C operators (such as "|", "&", etc.), do it WITHOUT
|
; If you want to use any C operators (such as "|", "&", etc.), do it WITHOUT
|
||||||
; any spaces between the arguments (the parser is simple and weak).
|
; any spaces between the arguments (the parser is simple and weak).
|
||||||
|
|
||||||
|
@ -555,7 +555,7 @@ feature on.
|
|||||||
</quote>
|
</quote>
|
||||||
|
|
||||||
<quote>
|
<quote>
|
||||||
In VICE, got to <bf/Settings/ -> <bf/Settings/, then <bf/Peripherial devices/ ->
|
In VICE, got to <bf/Settings/ -> <bf/Settings/, then <bf/Peripheral devices/ ->
|
||||||
<bf/Drive/. Then, you must enable the <bf/True drive emulation/ checkbox.
|
<bf/Drive/. Then, you must enable the <bf/True drive emulation/ checkbox.
|
||||||
</quote>
|
</quote>
|
||||||
|
|
||||||
|
@ -886,7 +886,7 @@ also for a segment. The value must be an integer between 0 and 255. It is used
|
|||||||
as the fill value for space reserved by the assembler's <tt/.ALIGN/ and <tt/.RES/
|
as the fill value for space reserved by the assembler's <tt/.ALIGN/ and <tt/.RES/
|
||||||
commands. It is also used as the fill value for space between sections (part of a
|
commands. It is also used as the fill value for space between sections (part of a
|
||||||
segment that comes from one object file) caused by alignment, but not for
|
segment that comes from one object file) caused by alignment, but not for
|
||||||
space that preceeds the first section.
|
space that precedes the first section.
|
||||||
|
|
||||||
To suppress the warning, the linker issues if it encounters a segment that is
|
To suppress the warning, the linker issues if it encounters a segment that is
|
||||||
not found in any of the input files, use "<tt/optional=yes/" as an additional
|
not found in any of the input files, use "<tt/optional=yes/" as an additional
|
||||||
|
@ -85,7 +85,7 @@ Please note:
|
|||||||
<item> The macro '<tt>SMC_StoreValue</tt>' takes care, that the store
|
<item> The macro '<tt>SMC_StoreValue</tt>' takes care, that the store
|
||||||
operation will occur on the value-position of a SMC-instruction. As
|
operation will occur on the value-position of a SMC-instruction. As
|
||||||
you will see, other macros influence other instruction part positions.
|
you will see, other macros influence other instruction part positions.
|
||||||
There is no consistency check, if the targeted SMC instruction acually
|
There is no consistency check, if the targeted SMC instruction actually
|
||||||
contains a value. Storing a 'value' on an immplied SMC instruction
|
contains a value. Storing a 'value' on an immplied SMC instruction
|
||||||
would corrupt the following memory cell!
|
would corrupt the following memory cell!
|
||||||
</enum>
|
</enum>
|
||||||
@ -582,7 +582,7 @@ into a single instruction line. These can be changed of course too.
|
|||||||
Line 10,11: These lines construct a branch operation for line 8: The
|
Line 10,11: These lines construct a branch operation for line 8: The
|
||||||
X-register will be used to change it from 'inc StoreAccuFirstSection+2'
|
X-register will be used to change it from 'inc StoreAccuFirstSection+2'
|
||||||
(high-byte operation) to 'beq restoreCode'. Please note: To calculate the
|
(high-byte operation) to 'beq restoreCode'. Please note: To calculate the
|
||||||
relaive branch offset, we introduced a second label
|
relative branch offset, we introduced a second label
|
||||||
('RestoreCodeBranchBaseAdr') for to calculate it. Some could also use the
|
('RestoreCodeBranchBaseAdr') for to calculate it. Some could also use the
|
||||||
internal name of the SMC label, but you should abstain to do so - it may be
|
internal name of the SMC label, but you should abstain to do so - it may be
|
||||||
changed in the future...
|
changed in the future...
|
||||||
|
@ -68,10 +68,10 @@ Platforms: Runs on all platforms that support conio, which means:
|
|||||||
Name: mandelbrot
|
Name: mandelbrot
|
||||||
Description: A mandelbrot demo using integer arithmetic. The demo was
|
Description: A mandelbrot demo using integer arithmetic. The demo was
|
||||||
written by groepaz, and converted to cc65 using TGI graphics
|
written by groepaz, and converted to cc65 using TGI graphics
|
||||||
by Stephan Haubenthal.
|
by Stefan Haubenthal.
|
||||||
Platforms: Runs on all platforms that have TGI support:
|
Platforms: Runs on all platforms that have TGI support:
|
||||||
Apple ][, Atari, C64, C128, Oric Atmos and Telestrat, GEOS,
|
Apple ][, Atari, C64, C128, Oric Atmos and Telestrat, GEOS,
|
||||||
NES, and Lynx.
|
and NES.
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Name: mousedemo
|
Name: mousedemo
|
||||||
|
Loading…
Reference in New Issue
Block a user