]> git.sur5r.net Git - cc65/blobdiff - doc/grc65.sgml
Fixed 65C02 timing again.
[cc65] / doc / grc65.sgml
index 9d3d30f0248fb780ca19ef70debf77d5c8ba3871..fb90fe23f7dac54fe322a9b0e80039e451a57cdb 100644 (file)
@@ -1,12 +1,11 @@
 <!doctype linuxdoc system>
-<article>
-
-<!-- Title information -->
 
+<article>
 <title>grc65 -- GEOS Resource Compiler
-<author><url name="Maciej 'YTM/Elysium' Witkowiak" url="mailto:ytm@elysium.pl">
-<and><url name="Greg King" url="mailto:gngking@erols.com">
-<date>VII 2000; VI,VII 2002; 2005-8-3
+<author>
+<url url="mailto:ytm@elysium.pl" name="Maciej 'YTM/Elysium' Witkowiak">,<newline>
+<url url="mailto:greg.king5@verizon.net" name="Greg King">
+
 <abstract>
 This document describes a compiler that can create GEOS headers and menues for
 cc65-compiled programs.
@@ -137,10 +136,10 @@ and <tt/c64only/ will work on only 64-GEOS.  The default value for
 then, you also have to put in a third type of resource -- a memory definition.
 The value of <tt/icon/ is a quoted file-name.  The first 63 bytes of this file
 are expected to represent a standard monochrome VIC sprite.  The file gets accessed
-when the generated assembly source is be processed by <bf/ca65/.  Examples for
-programs generating such files are <em/Sprite Painter/ and <em/SpritePad/.  The
-default <tt/icon/ is an empty frame internally represented in the generated assembly
-file.
+when the generated assembly source is being processed by <bf/ca65/.  Examples for
+programs generating such files are <em/Sprite Painter/, <em/SpritePad/ and the
+<url name="sp65 sprite and bitmap utility" url="sp65.html">.  The default <tt/icon/
+is an empty frame internally represented in the generated assembly file.
 
 
 <sect1>Memory definition
@@ -159,7 +158,7 @@ either <tt/yes/ or <tt/no/. The further means that the application uses the syst
 background screen buffer while the latter means that the program uses the memory of the
 background screen buffer for own purposes.  The default value of <tt/yes/ comes from the
 linker configuration file.  If the <tt/structure/ in the header definition is set to the
-value <tt/VLIR/ then it is possible and necessary to provide here the attributes of the 
+value <tt/VLIR/ then it is possible and necessary to provide here the attributes of the
 VLIR overlays. <tt/overlaysize/ defines the maximal size for all VLIR records but number
 0.  It can be either decimal (e.g. <tt/4096/) or hexadecimal with a <tt/0x/ prefix (e.g.
 <tt/0x1000/).  <tt/overlaynums/ defines the VLIR record numbers used by the application.
@@ -178,7 +177,7 @@ GEOS support in cc65 is based on the <em/Convert v2.5/ format, well-known in
 the GEOS world.  It means that each file built with the cc65 package has to be
 deconverted in GEOS, before it can be run.  You can read a step-by-step
 description of that in the <url name="GEOS section of the cc65 Compiler Intro"
-url="intro-6.html#ss6.5">.
+url="intro.html#ss6.5">.
 
 Each project consists of four parts, two are provided by cc65.  Those parts
 are:<enum>
@@ -224,6 +223,7 @@ inclusion by a <tt/.c/ file.
 
 <sect1>Building the GEOS application without cl65
 <sect2>First step -- compiling the resources
+<p>
 <tscreen><verb>
 grc65 -t geos-cbm testres.grc
 </verb></tscreen>
@@ -234,12 +234,14 @@ Note that &dquot;<tt/testres.h/&dquot; is included at the top of
 &dquot;<tt/test.c/&dquot;.  So, resource compiling <em/must be/ the first step.
 
 <sect2>Second step -- assembling the application header
+<p>
 <tscreen><verb>
 ca65 -t geos-cbm testres.s
 </verb></tscreen>
 And, voil&aacute; -- &dquot;<tt/testres.o/&dquot; is ready.
 
 <sect2>Third step -- compiling the code
+<p>
 <tscreen><verb>
 cc65 -t geos-cbm -O test.c
 ca65 -t geos-cbm test.s
@@ -247,9 +249,10 @@ ca65 -t geos-cbm test.s
 That way, you have a &dquot;<tt/test.o/&dquot; object file which
 contains all of the executable code.
 
-<sect2>Fourth and last step -- linking it together
+<sect2>Fourth and last step -- linking the application
+<p>
 <tscreen><verb>
-ld65 -t geos-cbm -o test.cvt testres.o test.o geos.lib
+ld65 -t geos-cbm -o test.cvt testres.o test.o geos-cbm.lib
 </verb></tscreen>
 The last file is the GEOS system library.
 
@@ -265,17 +268,17 @@ required for the correct process of GEOS sequential application building.
 
 <sect>Building a GEOS VLIR overlay application<label id="building-vlir">
 <p>Large GEOS applications typically don't fit in one piece in their designated
-memeory area.  They are therefore split into overlays which are loaded into memory 
-on demand.  The individual overlays are stored as records of a VLIR (Variable\r
-Length Index Record) file.  When GEOS starts a VLIR overlay appliation it loads\r
-record number 0 which is supposed to contain the main program.  The record numbers\r
-starting with 1 are to be used for the actual overlays.\r
+memory area.  They are therefore split into overlays which are loaded into memory
+on demand.  The individual overlays are stored as records of a VLIR (Variable
+Length Index Record) file.  When GEOS starts a VLIR overlay appliation it loads
+record number 0 which is supposed to contain the main program.  The record numbers
+starting with 1 are to be used for the actual overlays.
 
 In "<tt>cc65/samples/geos</tt>" there's a VLIR overlay demo application consisting
 of the files "<tt/overlay-demo.c/" and "<tt/overlay-demores.grc/".
 
 
-<sect1>Building the GEOS application using cl65
+<sect1>Building the GEOS overlay application using cl65
 <p>This is a simple one step process:
 <tscreen><verb>
 cl65 -t geos-cbm -O -o overlay-demo.cvt -m overlay-demo.map overlay-demores.grc overlay-demo.c
@@ -284,32 +287,36 @@ Always place the <tt/.grc/ file as first input file on the command-line in order
 to make sure that the generated <tt/.h/ file is available when it is needed for
 inclusion by a <tt/.c/ file.
 
-You will almost certianly want to generate a map file that shows (beside a lot of
-other infos) how large your individual overlays are. This info is necessary to tune
-the distribution of code into the overlays and optimizes the memory area reserved
+You will almost certainly want to generate a map file that shows (beside a lot of
+other infos) how large your individual overlays are.  This info is necessary to tune
+the distribution of code into the overlays and to optimize the memory area reserved
 for the overlays.
 
 
-<sect1>Building the GEOS application without cl65
-<sect2>First step -- compiling the resources
+<sect1>Building the GEOS overlay application without cl65
+<sect2>First step -- compiling the overlay resources
+<p>
 <tscreen><verb>
 grc65 -t geos-cbm overlay-demores.grc
 </verb></tscreen>
 
-<sect2>Second step -- assembling the application header
+<sect2>Second step -- assembling the overlay application header
+<p>
 <tscreen><verb>
 ca65 -t geos-cbm overlay-demores.s
 </verb></tscreen>
 
-<sect2>Third step -- compiling the code
+<sect2>Third step -- compiling the overlay code
+<p>
 <tscreen><verb>
 cc65 -t geos-cbm -O overlay-demo.c
 ca65 -t geos-cbm overlay-demo.s
 </verb></tscreen>
 
-<sect2>Fourth and last step -- linking it together
+<sect2>Fourth and last step -- linking the overlay application
+<p>
 <tscreen><verb>
-ld65 -t geos-cbm -o overlay-demo.cvt -m overlay-demo.map overlay-demores.o overlay-demo.o geos.lib
+ld65 -t geos-cbm -o overlay-demo.cvt -m overlay-demo.map overlay-demores.o overlay-demo.o geos-cbm.lib
 </verb></tscreen>
 
 
@@ -335,7 +342,7 @@ for addresses.
 
 
 
-<appendix>
+<!-- <appendix> -->
 <sect>Appendix A -- example.grc<label id="example-grc">
 <p><tscreen><verb>
 ; Note that MENU can define both menues and submenues.