![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Amiga SDKby Stefan Zivkovic July 2000 PrefaceI got my Amiga SDK 10th of July 2000, right on my Birthday, I was probably the first in Sweden to get one, or at least the first that was sent from Sweden. I bought my copy from GGS-Data, and got it a few days later. In this site I will post some of my and other people ideas and toughs about the newly released Amiga SDK, this page is a live document, and will probably change from now and then. All info of this page is considered "as it is", it can be false, but I try not to be. If you have something special you wonder about the amiga SDK please let me know, so I kan test it for you, or if you have any benchmarking java/c programs that I can test. Site History
2000-07-12 Page created. Amiga SDK First impressionThe package comes in a standard "computer game" box. I contains a Book, a CD, a few notes and a car bumper sticker. The book has a simple and clean design, It has the "Constructing Boingball" on the front. The CD has the same picture on the box, and the CD itself has a white surface filled with boingballs. The bumper sticker is also with white boingballs. The BookMy first impression was positive, I did not have my redhat installation quite up yet so I started to read the book. The book has a simple layout, chapters could be more clearly marked and most of the pictures looks like they needed some more work. But the context of the book seems well suited for developers with some experiences. The language is simple and easy to understand (for me that is anyway). The installationInstallation was easy, just executing a setup program on the CD, it opens up a small window. During the installation you need web access, to get some Developer ID and a unlock code to install your copy. The moment of truthThe intent shell is started with "intent_shell" from a linux shell prompt, this start the "Amiga 1.0" shell. The shell was easy to use and not in the way like DOS is. After a mater of minutes I manage to find the freeball example and start it. It opened up a new graphical window were a nice old boing ball bounced around. From this window I manage to start all the nice programs that you have seen on the other screen shots. ShellShell is a zsh look alike. I found it very intuitive and easy to use. Some commands differ from the old amiga like
Amiga 1.0:/demo/example/j$ speed VP MIOPS = 678.730032 VP MLOPS = 161.562613 VP MFOPS = 71.482173 VP MDOPS = 39.633851 Amiga 1.0:/demo/example/j$And the manual explains: "The rows show how many millions of these fundamental integer, long, floating and double operations can be performed every second." Running things in the same directoyr is done with a ./ before the command, this indicates that the current path "." should be searched for the command. The concept of searchpath does not seem to work, everything is almost done via the "root" entry in the filesystem, this I hope will change realy soon. Programming CIn this section Ill try to explain some info as a port a linux program to elate/amiga.
The C compiler is a version of GCC that has been ported and changed to output VP Asm as its
object format, this means that the .o files are readeble by an ordinay texteditor, I even
manage resolve a an missing function error during linking, by looking into the .o file for
the requested function. This should have been harder if the .o files were in the usual
binnary format since the function was hidden in a macro. I miss som good document on
the standard C function that are supported. You could do a "help Another problem I discovered is that I had problem running the configure scripts, but since I have no big experience in shell scripts, I did a configure on the linux side of things for the moment. This gave me a lot of porblem since the configure script on the linux side generated a config.h file that was full of error. Man idea was to port gnome so that all gnome programs like gimp could bu ported easyly later, but since gnome is made of a few diffrent projects like glib, gtk+, gdk and everytime I had to generate new makefiles and change the config.h file this was not a very clean port, so I decided that I should start over from scrach using the lates sources from the CVS repository. To make the port as clean al posible I should have perl ported also since it is used to generate some stuff in the gnome sourcetree, so I downloaded perl and again I can not run the configure script. I decided that I had it with the elate-zsh lookalike and started to port bash to see if this helps. And again I can not run the configure script as bash needs a sh/bash shell as stated above. Why cant people make plain makescripts that are not generated. Well right now I have compiled bash but it crashes when I run it. To create arcives of .o files there is a version of the unix ar called vpar. Debugging C ProgramsDebuging is right now a pain in the ass, I have not found a good way to debug on sourcelevel, and the included ebug seems to debug on the x86 level which makes it a little to lo-level for me. right now I use printf() statements to debug, if anyone have a better method please let me know. JavaAmiga Java supports the Personal Java 1.1 libraries, (1.1.6 API) java programs is started with the command jcode. Compiling java programs are done with javac and it works as the javac command from the JDK. Big and nice differences from other Java technologys out there is that the Tao/Amiga java translate rather than interprets the Java byte code, and it does it at load time rather than run-time as other JIT/virtual machines does. The garbage collector is interruptable, which makes java more useful under real time operations. It should also use less memory since it uses the individual tools rather than classes. There is also a command call translate that seems to translate java byte code to VP byte code. I have not got a list of differences in the class library of Personal Java compared to the Java 2 platform. But keep in mind that there probably are small differences, meaning that this version will not run all Java programs out there, but this is not confirmed yet. I hade a problem to run the java compiler this seems not to be included in the package, to solve this I put a note on this at the Amiga FAQ-o-matic. and a while later I got this reply: "I was also able to get this to work by installing the classes contained in the classes.zip, however, I only extracted those classes contained in the sun.tools package. The classes contained in the java.* packages were already in place and pre-translated into VP bytecode which presumably will perform better when used by other classes at runtime. I gather from the printed documentation that the included Java development environment is based on 1.1.6. So to be on the safe side I downloaded the JDK v1.1.6 from Blackdown (www.blackdown.com). Note that Sun is now distributing 1.3 (1.1.6 is over a year old now)." Puting the sun/tools in your user cataloge will make then show up under the amiga environment. This worked for me. Now I manage to use the compiler to compile a simple Hello world kind of program. I alos used the translete tool to tranform the Hello.class file to VP code and the following showed up in a direcotory with the same name:
demo/example/j/Hello.java demo/example/j/Hello.class demo/example/j/Hello/class.00 demo/example/j/Hello/data.00 demo/example/j/Hello/fixup.00 To be sure that the transformed VP code was run I renamed Hello.class and typed jcode demo/example/j/HelloAnd it still worked. Java SpeedI manage to run the CaffeineMark 3.0 thanks to Softmetal (Vesa Tuomiare) at http://www.devicetop.com for pointing this test out for me. My test result was 3354, but his was little better at 7259 points.
IE is faster on all test exapt the string and the Image test. Especially notice the Logic test were IE have 2 more digits in its test result. This test was done to test optimization of redundant code by the JVM, this is not considered by the Java translator in Amiga SDK Java environment as this is a task for the compiler. This has been pointed out to me by both Rudi Chiarito and Fleecy Moss at Amiga Inc. Mr Chiarito also writes the folowing:
Here is another test done by Denis Tumpic (dtumpic at devicetop.com) comparing Linux/Solaris and SUN/Elate and the JIT from IBM.
Amiga 1.0:/$ speed VP MIOPS = 509.455904 VP MLOPS = 124.948903 VP MFOPS = 49.953047 VP MDOPS = 30.583368 Amiga 1.0:/$ I also decided to make a more numbercrunching test so I downloaded JavaLayer a MP3 decruncher from www.javazoom.net i used version 0.0.7.
DocumentationI liked the documentation, I have only read a few pages, but the level of the documentation is perfect, it seems to explain rather complex thinks easy, that will be good both for the advanced user and the beginner. Remember that I have only read a few pages. I have not yet checked the manuals on the CD. OverallI got everything install very late yesterday so had only a few minutes to play with it, but in a mater of minutes I manage to find the freeball example (Boingball) it started the gfx and therefrom I manage to start all stuff as seen in the other screen shots from a menu. All the window effects are cool, I cant wait for the mp3-player skins. FutureI will start to test it more, like starting some java programs. Ill try to update this site soon. Right now I would like to test the same algorithm min both java and c and maybe in VP, on both linux native and inside the amiga environment. If you have any Idea for a small benchmark programs, please let me know. I you have some thing you like tested please let me know, but keep in mind that I does this on my free time and will only do things that I want and in my own speed. Who is Stefan Zivkovic?Im a Computer Consultant working at Enea Realtime AB, mostly working with OSE (an RTOS) for customers. I have a long background from Amiga, I bought my first A500 in 1987, and still turns on my A4000 now and then. My education a degree in "Master of Science in Computer Science and Engineering" at University of Lund and LTH. Some of my old work can be found on my web site http://www.zingo.org. CommentsYou can mail me about this site at amigasdk@zingo.org. Links
http://www.amiga.com Amiga Inc |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||