mirror of
https://github.com/cc65/cc65.git
synced 2024-12-25 02:29:52 +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:
parent
81cfbe06c6
commit
bb1d6d94a3
@ -38,7 +38,7 @@ SGML = apple2.sgml \
|
||||
dio.sgml \
|
||||
funcref.sgml \
|
||||
geos.sgml \
|
||||
grc.sgml \
|
||||
grc65.sgml \
|
||||
index.sgml \
|
||||
intro.sgml \
|
||||
ld65.sgml \
|
||||
|
@ -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>
|
||||
|
@ -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
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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}
|
||||
|
||||
|
@ -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);
|
||||
}
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -9,7 +9,7 @@ PROGS = \
|
||||
cl65 \
|
||||
co65 \
|
||||
da65 \
|
||||
grc \
|
||||
grc65 \
|
||||
ld65 \
|
||||
od65
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user