Re: [cc65] cc65 2.5 beta (update)

Date view Thread view Subject view

From: YTM (
Date: 2000-06-23 15:56:56

On pią, 23 cze 2000, you wrote:
> On Thu, Jun 22, 2000 at 10:59:35PM -0400, Robin Harbron wrote:
> > Sorry if I missed out on something earlier - does this mean that cc65
> > can directly make GEOS apps now?  Or that it will be able to soon?
> Yes, you can write GEOS apps with cc65, thanks to the great work of Maciej
> Witkowiak. GEOS support has some rough edges and would need people testing it
> and sending feedback, but it's definitely there. Maciej is on the list, maybe
> he can give you some more details.

Here they go. Some are from GEOSLib announcement published here at start
of April.

At start: YES, cc65 can directly make GEOS apps now :)

GEOS support is based on my GEOSLib, a wrapper on GEOS Kernal functions and
variables. It is based _only_ on that so GEOS apps can use _only_ functions
from GEOSLib, forget about standard libraries. This will be changed in
nearest future. Apart from almost all GEOS 64 v2.0 Kernal calls GEOSLib has
some custom functions, e.g. file requester, standard dialogs (YesNo,
OkCancel, Ok). For now only supported files are GEOS APPLICATION, structure
SEQUENTIAL. I haven't yet tried to make a structure VLIR file, but this
shouldn't be hard with ld65 features.

Output binary format is well-known GEOS Convert format, a standard .cvt. It
allows to easy copy and unconvert into disk(images) using Star Commander or
native Convert v2.5

Full API documentation for GEOSLib is available. It isn't present with
current cc65 2.5 beta, but GEOSLib was mirrored some time at and these files should be there. You can try also this

Source is in SGML format, but HTML, TXT and RTF output should be somewhere
too :). Anyway, if someone is in deep need - write me.

I don't have time now to write more documentation - about GEOS resource
compiler and process of building, so just few clues:
A sample commented .grc file is in beta release, see it.
All other cc65 targets are builded in this way:
test.c -> test.s -> test.o
system.o test.o system.lib -> test.prg (whatever)

GEOS target has special need - a GEOS header which can be different for each
app, and a .cvt header. This is where grc is needed. Therefore building
goes like this:
test.grc -> (test.hh - optionally) is an assembler source for first object to link (like system.o) It
contains .cvt header and GEOS header - with icon image, all names, date etc.
test.hh is custom C header which can be included in main C source. It is
optional and now created only if menu definition is present in resource
file. Later resource file will allow to easy define dialogs, own applicaton
icon, maybe something more. For now only menu support is complete.

Next step is to compile all sources:
test.c -> test.s -> test.o -> some_name.o

and link them with ld65
some_name.o geos.o test.o geos.lib

Note the order of linked sources - own header goes first, then system
object and then all program objects and library.
Oh, and use -t geos with cc65 tools when building.

To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.

Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:36 CET