From dd28756ab8b8344151aef81a5ac8805dc64f9a56 Mon Sep 17 00:00:00 2001 From: cuz Date: Wed, 12 Feb 2003 12:51:32 +0000 Subject: [PATCH] Working git-svn-id: svn://svn.cc65.org/cc65/trunk@1974 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- doc/co65.sgml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/co65.sgml b/doc/co65.sgml index 584ae9b9e..274b5e85b 100644 --- a/doc/co65.sgml +++ b/doc/co65.sgml @@ -23,7 +23,7 @@ of loading them from disk. co65 is an object file conversion utility. It converts o65 object files into assembler files, which may be translated by ca65 to generate object files in -the native object file format used by the cc65 tool chain. +the native object file format used by the cc65 tool chain. Since loadable drivers used by the library that comes with cc65 use the o65 relocatable object code format, using the co65 utility allows to link these @@ -121,7 +121,7 @@ Here is a description of all the command line options: When accessing such a label from C code, be sure to include the leading underscore. If you don't need to access the data segment, there's no need to use this option. - + --data-name seg @@ -213,6 +213,7 @@ Here is a description of all the command line options: Set the name of the data segment. The default name is "ZEROPAGE" which is compatible with the standard ld65 linker configurations. + Input and output

@@ -260,7 +261,7 @@ used to access the functions in the driver code. When loading a driver at runtime, the load address of the driver is also the address of the code segment, so the locations of the header and jump table are known. However, when linking the driver statically, it is up to the programmer -to provide this information to the driver API. +to provide this information to the driver API. For this purpose, it is necessary to define a code segment label that can be accessed from the outside later. Please note that the converter does currently @@ -273,6 +274,9 @@ it from C code. In your code, define an arbitrary variable with this name. Use the address of this variable as the address of the code segment of the driver. Be sure to never modify the variable which is in reality the start of your driver! + + +Example: Convert and link a graphics driver

As an example, here are some instructions to convert and use the c64-hi.tgi graphics driver: @@ -298,7 +302,7 @@ uninstall the driver, which will be already in memory after linking: /* Install the driver */ - tgi_install (&c64_hi); + tgi_install (&c64_hi); ... -- 2.39.5