🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari
Article #1301

Re: developer's package

#1301
From: Rand Huntzinger
Date: Mon, 21 Oct 1985 17:35
53 lines
3556 bytes
In article <2023@reed.UUCP> rosalia@reed.UUCP (Mark Galassi) writes:
>1) the documentation really points to the OS being based on CP/M68k,
>there is no mention ever made of MS-DOS (except for when they say that
>GEM was originally meant for the PC, but can be ported to other
>architectures). Then why do people here say that it is not a CP/M68k
>derivative? The compiler-assembler-linker produce CP/M68k executable
>files, and then there is a utility which converts to GEM applications.
>Unless there is some other info that I am missing, this seems to say
>quite convincingly that the OS on the ST comes straight from CP/M68k.

There are several sets of documentation in the package, two of which document
CPM-68K and GEMDOS.  MS-DOS is never mentioned, but the GEMDOS system calls
are almost identical to the corresponding MS-DOS calls.  The CPM-68K system
calls are indeed present, and the development software present came from
CPM-68K; however, you are free to use the more powerful GEMDOS calls.
[NOTE: MS-DOS also includes CPM/86 entry points as a subset]

> HOW DO YOU INVOKE THE LINKER ON A FILE "hello.o" which uses the
> documented library function "printf()" and nothing else?

It sounds like your development kit doesn't contain the same files my does.
I have batch files to do most of the linking, but not with the titles you
mentioned in your note.  [I omitted most of your question above because it
is so long]  Anyway, the answer is:

	To link a TOS application, the basic command is:

	link68 [u] file.68k=gemstart,file.o,gemlib,osbind
	relmod file

Note that all files should be prefixed with whatever drive they are on unless
all the files are on the currently selected drive.  You can also substitute
gems for gemstart, I think some developer's packages have that name.  I don't
know for sure if osbind is required.  You have to add "libf" to the line if
you use floating point.  [All this was adequately documented in my package, but
you didn't seem to get everything from what you said].  Some of the docs were
online (like MicroEmacs and the README file).  The latter had the linking docs.

The 68K file is the output of the linker, not it's input.  The "_printf"
symbol, which you couldn't find, is in gemlib.  The relmod program takes the
CPM 68K output file converts it into a file TOS can load.

**** Additional Note ****

The big "gotcha" in the developer's kit is the fact that the gemstart module
only allocates a total of 1K of stack+heap space.  You have to edit and
reassemble the source to get any more!  If you're like me, and try to keep
most of your data on the stack (within procedures), that's just not enough.
If you run out, you don't get an error message, you just clobber yourself, so
I'd suggest you edit the file to give yourself a more liberal workspace before
you start on anything fancier than "hello world".

					Randy
Technical Details
Message-ID: <825@nlm-vax.ARPA>
Path: arc1-ca.pugleaf.net!utzoo!linus!decvax!ucbvax!ucdavis!lll-crg!seismo!brl-tgr!nlm-mcs!nlm-vax!randy
References: <2023@reed.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site nlm-vax.ARPA
Path: arc1-ca.pugleaf.net!utzoo!linus!decvax!ucbvax!ucdavis!lll-crg!seismo!brl-tgr!nlm-mcs!nlm-vax!randy
From: randy@nlm-vax.ARPA (Rand Huntzinger)
Newsgroups: net.micro.atari
Subject: Re: developer's package
Message-ID: <825@nlm-vax.ARPA>
Date: Mon, 21-Oct-85 13:35:16 EDT
Article-I.D.: nlm-vax.825
Posted: Mon Oct 21 13:35:16 1985
Date-Received: Wed, 23-Oct-85 07:29:36 EDT
References: <2023@reed.UUCP>
Reply-To: randy@nlm-vax.UUCP (Rand Huntzinger)
Distribution: net
Organization: NLM/LHNCBC, Bethesda, Md.
Lines: 53