X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2Fgrc65.sgml;h=aec112f6bbbc237ab66960e34c77941978da90d8;hb=74455508314bc2b007e812ec5f9429496b9fbd5f;hp=c98cfc2a1f52b8f9da914612c06089a3519bfa0e;hpb=fb3c3f6a68b4d30bef19212d23c4589f6a2cd893;p=cc65 diff --git a/doc/grc65.sgml b/doc/grc65.sgml index c98cfc2a1..aec112f6b 100644 --- a/doc/grc65.sgml +++ b/doc/grc65.sgml @@ -1,12 +1,11 @@ -
- - +
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 @@ -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á -- &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,7 +249,8 @@ 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-cbm.lib </verb></tscreen> @@ -275,7 +278,7 @@ In "<tt>cc65/samples/geos</tt>" there's a VLIR overlay demo application consisti 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 @@ -290,24 +293,28 @@ the distribution of code into the overlays and to optimize the memory area reser 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-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. @@ -374,11 +381,11 @@ HEADER APPLICATION "MyFirstApp" "Class Name" "V1.0" ; file named MyFirstApp with the Class-string "Class Name V1.0" { ; Not all fields are required, default and current values will be used. - author "Maciej Witkowiak" ; always in quotes! - info "Information text" ; always in quotes! -; date yy mm dd hh ss ; always 5 fields! -; dostype seq ; can be: PRG, SEQ, USR (only all UPPER- or lower-case) -; structure seq ; can be: SEQ, VLIR (only UPPER- or lower-case) - mode c64only ; can be: any, 40only, 80only, c64only + author "Maciej Witkowiak" ; always in quotes! + info "Information text" ; always in quotes! +; date yy mm dd hh ss ; always 5 fields! +; dostype seq ; can be: PRG, SEQ, USR (only all UPPER- or lower-case) +; structure seq ; can be: SEQ, VLIR (only UPPER- or lower-case) + mode c64only ; can be: any, 40only, 80only, c64only }</verb></tscreen> </article>