| From: | g'o'tz ohnesorge |
| Date: | 30 Oct 2000 at 16:51:57 |
| Subject: | Re: AMIGEN: Amiga SDK details |
John Reimer wrote:
> 1. What compilers/translators are included with the SDK? The Info page on the
> SDK at www.amiga.com says we can "port" our "favorite development tools" to
> Amiga OS. Isn't a C++ compiler included (I thought someone mentioned something
> like vcpp)? I hope so!
Yes, vpcc is basically GNU's gcc. The favoured development tools refers to much of
the GNU tool chain. Elate, which forms the virtual hardware basis of the Amiga DE,
which is nothing less than the future of computing in general, was formerly used by
a relatively small community of embedded devices developers, and as these people
are, fluffier ;) stuff was kept to an absolute minimum.
> 2. What Java tools are provided? Is there a Java SDK or compiler included?
No, Sun doesn't allow distribution of theirs since they rather like to see their
download numbers go up, but you can download their javac from their site for free.
> 3. For any compiler/translator that is included with the Amiga SDK, how do they
> work? Do they compile the languages to the virtual machine language (I
> understand to be VP)? And what kind of environment are test apps run in? Are
> they run from the command-line? Does the VP automatically load when the app is
> loaded? etc.
The VP creates some confusion. In the system, there is no virtual processor at all.
It's only a specification that the code is written for. When you boot the system,
the boot file contains a copy of the kernel and a translator for the processor
you're running on (otherwise you couldn't boot it anyway ;) ). The other parts of
the OS, as well as all other programs, are split up into bits and pieces called
tools. Each time your program jumps into one of its subroutines that the compiler
has split into separate tools, the code loader loads that tool, the translator
translates it into native code for your actual hardware CPU, and then it will be
executed like all other code since even before the inception of the C=64 nad the
Apple I.
As it stands, most of the work so far is done from a command line shell, roughly
based on the Zsh shell, though differing in one or the other way. We'll either come
to better documentation or replace it by a more well known one at some point. ;)
A graphical user interface of style and unseen ingenuity is under construction for
the consumer version, but not yet available publically.
On your question whether the VP is loaded automatically when an app is loaded, I
find it worth mentioning something else: It is not necessary that apps using Amiga
DE technology will have to be run in a separate, pre-installed Amiga DE. It is
possible that some software makers chose to embed the necessary pieces of it in
their app, hidden from view but providing crucial functionality. These apps could
then be sold as normal Windows or Linux or certain game console apps, and be run on
these systems without a necessity to buy the Amiga DE separately - for that one app
at least. I assume they'll be encrypted in a way as to stop people from picking the
pieces apart for non-licensed use. Just thought I'd mention. :)
> 4. What documentation/tutorials are included with the SDK?
A book of 300 pages giving a brief introduction to the whole concept, its parts, and
how to use these. Prior hard knowledge on programming is seriously required, this is
not a BASIC tutorial for first year elementary school. Then we have many files on
the CD that contain additional API information, command line help, and one or the
other bit more. Further is being written all the time, and our ftp.amiga.com server
has a growing collection of source code to learn from.
It's not yet for the faint of heart, but if you're willing to go on an adventure,
here it is.
> 5. Does the SDK provide any form of make automation (eg. IDE) for those of us
> who are not very MAKE savvy? Or do we have to learn to do it the hard way (not
> a problem, just more work ;-) ?
>
> 6. Are there any differences in "ease of use" between the windows and linux
> version aside from basic OS differences (ie. Windows is generally easier to use
> than linux, no kidding)?
Let me put it this way: when I boot into Windoze, I have a system that even my mom
manages to get around with for most she needs. Linux tries to mimic this with
graphical desktops and all, but still couldn't shake off its reputation for needing
someone who is willing to read all the manuals in order to make things run.
For the SDK, this shouldn't make much of a difference. On Windoze, I click an icon,
and seconds later the Elate, err, Amiga command lin shell smiles at me. On Linux,
you have to type in "intent_shell" on a console command line. From there on, same
game on both.
If you already have Linux running and have minimal experience with it, especially
configuration by hand and maybe some coding, then Linux should provide you with an
advantage in the form of having generally more coding tools like compilers ,
editors, and much other stuff available on the Linux side. You may also write your C
code first for Linux, debug it there, and then port it - some people have found that
easier than working directly within Elate.
If you never used Linux before, get the Windows version. I know I would.
Keeps the learning down to one system.
As it stands, we can not offer cross-updates between the Linux and Windows versions,
so your decision for either will be final unless you can accept to pay twice. I'm
sorry if this makes the decision harder.
> 7. Why is there a requirement for an Ethernet NIC. For debugging?
No, for generating a developer ID. It's no more needed afterwards, unless you want
to use it for networking. Don't bother to ask about the reasoning behind this.
> 8. Speaking of debugging, what kind of debugging tools are available on the
> SDK?
zbug and ebug. One is nearly useless, the other a bit rudimentary .. uhm .. but you
can debug with it, and even industrial people use it for now. There may be something
happier from Linux if and when someone finds time to port more.
Ok, I hope this all won't scare you. Classic Amiga wasn't better off either when the
A1000 with OS1.1 was the only thing available, but it made it anyway. :)