1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-09 22:29:35 +00:00

Renamed grc to grc65 to avoid name conflicts with another software named grc.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4875 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2010-11-18 18:47:01 +00:00
parent 81cfbe06c6
commit bb1d6d94a3
13 changed files with 56 additions and 53 deletions

View File

@ -38,7 +38,7 @@ SGML = apple2.sgml \
dio.sgml \
funcref.sgml \
geos.sgml \
grc.sgml \
grc65.sgml \
index.sgml \
intro.sgml \
ld65.sgml \

View File

@ -103,10 +103,11 @@ needs cc65.
I want to thank Uz for his cc65 package, Alexander Boyce for his excellent GEOS Programmer's
Reference Guide and BSW for GEOS.
<p>
GEOSLib is covered by the same license as cc65. You can find the whole text among documentation.
I would really appreciate if you would like to send me your comments, suggestions, questions,
changes, bug reports etc. I will also appreciate if you will just give me a sign that you are
using GEOSLib - not especially something big and important, mail me even if you are just playing
GEOSLib is covered by the same license as cc65. You can find the whole text
among documentation. I would really appreciate if you would like to send me
your comments, suggestions, questions, changes, bug reports etc. I will also
appreciate if you will just give me a sign that you are using GEOSLib - not
especially something big and important, mail me even if you are just playing
with it.
<p>
You can send postcards with hellos to:
@ -123,11 +124,12 @@ This chapter describes some rules you ought to obey, and how to use GEOSLib.
<sect1>Usage
<p>
Apart from this file, which merely describes only standard GEOS library functions, you should read
<tt/grc/ (GEOS resource compiler) documentation. There are informations about necessary resource
files (each GEOS application needs at least one) and the building process - what should be done
and in what order. Please also read cc65's documentation on how to compile C, assembler and link
everything together.
Apart from this file, which merely describes only standard GEOS library
functions, you should read <tt/grc65/ (GEOS resource compiler) documentation.
There are informations about necessary resource files (each GEOS application
needs at least one) and the building process - what should be done and in what
order. Please also read cc65's documentation on how to compile C, assembler
and link everything together.
<p>
All in all, you just need to place
<tscreen><verb>
@ -135,10 +137,11 @@ All in all, you just need to place
</verb></tscreen>
on top of your source.
<p>
As a general rule read the sources of example programs and read the headers. These are the most
reliable sources of knowledge ;). You will also find there many C macros representing various
arguments passed to functions. Please use them. You will find your sources easier to understand,
and it will be easier to find bugs.
As a general rule read the sources of example programs and read the headers.
These are the most reliable sources of knowledge ;). You will also find there
many C macros representing various arguments passed to functions. Please use
them. You will find your sources easier to understand, and it will be easier
to find bugs.
<p>
All types used in GEOSLib are <tt/unsigned/.
<p>

View File

@ -3,7 +3,7 @@
<!-- Title information -->
<title>grc -- GEOS Resource Compiler
<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
@ -18,32 +18,32 @@ and VLIR files from, cc65-compiled programs.
<!-- Begin the document -->
<sect>Overview
<p><bf/grc/ is a part of cc65's GEOS support. The tool is necessary to
<p><bf/grc65/ is a part of cc65's GEOS support. The tool is necessary to
generate required and optional resources. A required resource for every GEOS
application is the header, that is: an icon, some strings, and some addresses.
Optional resources might be menu definitions, other headers (e.g., for data
files of an app.), dialog definitions, etc. Without an application's header,
GEOS is unable to load and start it.
Currently, <bf/grc/ supports only menues and the required header definition,
Currently, <bf/grc65/ supports only menues and the required header definition,
along with support for building VLIR-structured files.
<bf/grc/ generates output in three formats: C header, <bf/ca65/ source (.s),
<bf/grc65/ generates output in three formats: C header, <bf/ca65/ source (.s),
and, for linking VLIR, <bf/ld65/ configuration script. That is because
application header data must be in assembly format, while menu definitions can
be translated easily into C. The purpose of the C file is to include it as a
header in only one project file. The assembly source should be processed by
<bf/ca65/, and linked as the first object (read about <ref
name="the building process" id="building-seq">). The VLIR structure currently
is supported for only projects that are written entirely in assembly code.
<bf/ca65/, and linked as the first object (read about <ref name="the building
process" id="building-seq">). The VLIR structure currently is supported for
only projects that are written entirely in assembly code.
<bf/grc/ can be used also as a handy VLIR linker -- used to build
<bf/grc65/ can be used also as a handy VLIR linker -- used to build
VLIR-structured <tt/.cvt/ files out of prepared binary chains.
<sect>Usage
<p>grc accepts the following options:<tscreen><verb>
<p>grc65 accepts the following options:<tscreen><verb>
-f force the writing of the output files
-o name name the .c output file
-s name name the .s output file
@ -51,10 +51,10 @@ VLIR-structured <tt/.cvt/ files out of prepared binary chains.
-h show this help
</verb></tscreen>
When used as a VLIR linker, the correct syntax is:<tscreen><verb>
grc -vlir output.cvt header.bin vlir0.bin vlir1.bin ...
grc65 -vlir output.cvt header.bin vlir0.bin vlir1.bin ...
</verb></tscreen>
Default output names are made from input names with extensions replaced by
<tt/.h/ and <tt/.s/. <bf/grc/ will not overwrite existing files unless forced
<tt/.h/ and <tt/.s/. <bf/grc65/ will not overwrite existing files unless forced
to do so. That is done to avoid situations where you have <tt/test.c/ and
<tt/test.grc/ files. Both would put their output into <tt/test.s/. For that
reason, you should name your resource-files differently than sources, e.g.,
@ -65,7 +65,7 @@ reason, you should name your resource-files differently than sources, e.g.,
<sect>Resource file format
<p>A resource file has the name extension <tt/.grc/. That is not required, but
it will make for an easier recognition of the file's purpose. Also, <bf/cl65/
recognizes those files. <bf/grc/'s parser is very weak, at the moment; so,
recognizes those files. <bf/grc65/'s parser is very weak, at the moment; so,
read the comments carefully, and write resources exactly as they are written
here. Look out for CAPS. and small letters. Everything after a '<tt/;/',
until the end of the line, is considered as a comment, and ignored. See the
@ -115,7 +115,7 @@ HEADER <GEOS_TYPE> "dosname" "classname" "version" {
structure SEQ
}</verb></tscreen>
The header definition describes the GEOS header sector which is unique to
each file. Currently, there's no way to change the default <bf/grc/ icon
each file. Currently, there's no way to change the default <bf/grc65/ icon
(an empty frame). It will be possible in the next version. The definition
starts with the keyword <tt/HEADER/, then goes the GEOS file-type. You can use
only <tt/APPLICATION/ here at the moment. Then, there are (each one in quotes)
@ -159,11 +159,11 @@ the names of binaries that contain code for each VLIR part. They matter only
for the generated <bf/ld65/ configuration file, and will be the names of the
resulting binary files after linking. Each one will contain one VLIR chain;
and, they will have to be put together, in the correct order, into a VLIR
<tt/.cvt/ file, by <bf/grc/ in its VLIR linker mode.
<tt/.cvt/ file, by <bf/grc65/ in its VLIR linker mode.
The <tt/headname/ will be the name for the binary file which will contain only
a GEOS <tt/.cvt/ header made out of compiling the <tt/.s/ header file that also
was generated by <bf/grc/. At the end of the resulting <bf/ld65/ config. file
was generated by <bf/grc65/. At the end of the resulting <bf/ld65/ config. file
(<tt/.cfg/), in comments, there will be information about what commands are
required for putting the stuff together. Read <ref name="this description"
id="building-vlir"> for details.
@ -202,7 +202,7 @@ file, and processed into an assembly <tt/.s/ file. You must assemble it, with
source), &dquot;<tt/test.h/&dquot; (a header file), and
&dquot;<tt/resource.grc/&dquot; (with menu and header definitions). Note the
fact that I <em/don't recommend/ naming that file &dquot;<tt/test.grc/&dquot;,
because you will have to be very careful with names (<bf/grc/ will make
because you will have to be very careful with names (<bf/grc65/ will make
&dquot;<tt/test.s/&dquot; and &dquot;<tt/test.h/&dquot; out of
&dquot;<tt/test.grc/&dquot;, by default; and, you don't want that because
&dquot;<tt/test.s/&dquot; is compiled from &dquot;<tt/test.c/&dquot;, and
@ -217,7 +217,7 @@ There are no other includes.
<sect2>First step -- compiling the resources
<p><verb>
$ grc resource.grc
$ grc65 resource.grc
</verb>
will produce two output files: &dquot;<tt/resource.h/&dquot; and
&dquot;<tt/resource.s/&dquot;.
@ -279,9 +279,9 @@ VLIR vlir-head.bin 0x3000 {
}</verb></tscreen>
(Source files are only <tt/.s/.)
OK, we have &dquot;<tt/cvthead.grc/&dquot;, so let's allow <bf/grc/ to compile
OK, we have &dquot;<tt/cvthead.grc/&dquot;, so let's allow <bf/grc65/ to compile
it:<verb>
$ grc cvthead.grc
$ grc65 cvthead.grc
</verb>
Now, there are two new files: &dquot;<tt/cvthead.cfg/&dquot; and
&dquot;<tt/cvthead.s/&dquot; -- the first one is a config. file for <bf/ld65/,
@ -310,7 +310,7 @@ VLIR file: &dquot;<tt/vlir-head.bin/&dquot;, &dquot;<tt/vlir-0.bin/&dquot;,
The last step is to put them together in the right order -- the order of the
arguments <em/is important/ this time! As suggested in the comments at the end
of &dquot;<tt/cvthead.cfg/&dquot;, we do:<verb>
$ grc -vlir output.cvt vlir-head.bin vlir-0.bin vlir-1.bin vlir-2.bin
$ grc65 -vlir output.cvt vlir-head.bin vlir-0.bin vlir-1.bin vlir-2.bin
</verb>
That is the end. The file &dquot;<tt/output.cvt/&dquot; can be
deconverted under GEOS. Note that <tt/-C cvthead.cfg/ was used on the
@ -319,10 +319,10 @@ deconverted under GEOS. Note that <tt/-C cvthead.cfg/ was used on the
<sect>Bugs and feedback
<p>This is the first release of <bf/grc/, and it contains bugs, for sure! I am
aware of them; I know that the parser is weak, and if you don't follow the
<p>This is the first release of <bf/grc65/, and it contains bugs, for sure! I
am aware of them; I know that the parser is weak, and if you don't follow the
grammar rules strictly, then everything will crash. However, if you find an
interesting bug, mail me. :-) Mail me also for help with writing your
interesting bug, mail me. :-) Mail me also for help with writing your
<tt/.grc/ file correctly if you have problems with it. I would appreciate
comments also, and help on this file because I am sure that it can be written
better.
@ -330,7 +330,7 @@ better.
<sect>Legal stuff
<p><bf/grc/ is covered by the same license as the whole cc65 package, so you
<p><bf/grc65/ is covered by the same license as the whole cc65 package, so you
should see its documentation for more info. Anyway, if you like it, and want
to encourage me to work more on it, send me a postcard with a sight of your
neighbourhood, city, region, etc. Or, just e-mail me with info that you

View File

@ -34,8 +34,8 @@ Main documentation page, contains links to other available stuff.
<tag><htmlurl url="da65.html" name="da65.html"></tag>
Describes the da65 6502/65C02 disassembler.
<tag><htmlurl url="grc.html" name="grc.html"></tag>
Describes the GEOS resource compiler (grc).
<tag><htmlurl url="grc65.html" name="grc65.html"></tag>
Describes the GEOS resource compiler (grc65).
<tag><htmlurl url="ld65.html" name="ld65.html"></tag>
Describes the ld65 linker.

View File

@ -4,6 +4,6 @@ debian/ca65html.1
debian/cc65.1
debian/cl65.1
debian/da65.1
debian/grc.1
debian/grc65.1
debian/ld65.1
debian/od65.1

View File

@ -62,7 +62,7 @@ binary-arch: checkroot build
dh_testroot -a
dh_installdirs -a
dh_installmenu -a
for bin in ar65 ca65 cc65 cl65 da65 grc ld65 od65 ca65html; do \
for bin in ar65 ca65 cc65 cl65 da65 grc65 ld65 od65 ca65html; do \
install -m0755 `pwd`/src/$$bin/$$bin debian/cc65/usr/bin; \
done
for info in ar65 ca65 cc65 cl65 ld65 debugging dio geos coding intro library; do \

View File

@ -324,7 +324,7 @@ This package contains the header files and libraries needed to write
GEOS programs for the C64/C128 using the cc65 crosscompiler.
%files geos
%attr(755,root,root) /usr/bin/grc
%attr(755,root,root) /usr/bin/grc65
%attr(644,root,root) %{_libdir}/cc65/lib/geos.lib
%attr(755,root,root) %dir %{_libdir}/cc65/include/geos
%attr(644,root,root) %{_libdir}/cc65/include/geos/*.h
@ -492,7 +492,7 @@ install -s -m 755 src/cc65/cc65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/cl65/cl65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/co65/co65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/da65/da65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/grc/grc $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/grc65/grc65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/ld65/ld65 $RPM_BUILD_ROOT%{_bindir}
install -s -m 755 src/od65/od65 $RPM_BUILD_ROOT%{_bindir}

View File

@ -25,7 +25,7 @@
#include <errno.h>
#include <time.h>
#include "grc.h"
#include "grc65.h"
/* common stuff */
#include "fname.h"
@ -163,7 +163,7 @@ void printVHeader (void) {
"\n#\tDO NOT EDIT! Any changes will be lost!\n#"
"\n#\tEdit proper resource file instead\n#"
"\n#\tLook at end of this file to find commandline that must be used\n"
"#\tto invoke ld65 and grc (as VLIR linker)\n#"
"#\tto invoke ld65 and grc65 (as VLIR linker)\n#"
"\n#\n\n");
}
@ -597,7 +597,7 @@ struct vlirentry vlirtable[127];
/* now put usage info */
fprintf(outputVFile,"\n# ld65 -o output.cvt -C %s file1.o file2.o ...",outputVName);
fprintf(outputVFile,"\n# grc -vlir outputname %s",headname);
fprintf(outputVFile,"\n# grc65 -vlir outputname %s",headname);
for (i=1;i<=numchains;i++) {
fprintf(outputVFile," %s",vlirtable[i].chainname);
}

View File

@ -5,7 +5,7 @@
# ------------------------------------------------------------------------------
# The executable to build
EXE = grc
EXE = grc65
COMMON = ../common
@ -20,7 +20,7 @@ EBIND = emxbind
# -----------------------------------------------------------------------------
# List of all object files
OBJS = grc.o
OBJS = grc65.o
LIBS = $(COMMON)/common.a
@ -54,5 +54,5 @@ zap: clean
depend dep: $(OBJS:.o=.c)
@echo "Creating dependency information"
$(CC) $(CFLAGS) -MM $^ > .depend

View File

@ -25,7 +25,7 @@ LNKCFG = ld.tmp
CFLAGS = -d1 -obeilr -zp4 -5 -zq -w2 -i=..\\common
# Target files
EXE = grc.exe
EXE = grc65.exe
# Create NT programs by default
ifndef TARGET
@ -60,7 +60,7 @@ endif
# ------------------------------------------------------------------------------
# All OBJ files
OBJS = grc.obj
OBJS = grc65.obj
LIBS = ../common/common.lib

View File

@ -9,7 +9,7 @@ PROGS = \
cl65 \
co65 \
da65 \
grc \
grc65 \
ld65 \
od65