Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Performance and Benchmark Results!

High Level Languages: How to Proceedpage  1 2 3 4 

Wawa T

Posts 695
06 Sep 2017 21:46


Steve Ferrell wrote:
But answer this for me.

perhaps. but ist seems a tradition here. my own solution has been to refrain to open source. if others dont want to cooperate, one has at least an execuse, that they could if they wanted. it might be lame, but its better than nothing. curious of alternate proposals, though.


Vojin Vidanovic

Posts 770
06 Sep 2017 21:54


Gunnar von Boehn wrote:
 
  We got "offers which we could not reject" from competing manufacturers - to "cooperate" or otherwise take the risk that people

  I assume "nice bandit offer" was to take over the product,
  obviously refused.

  On cooperation:

  Well, they did starting selling Vampires on AmigaKit Store,
  heart of the consorsium, which gives them a dealers fee.
 
  It would be good if they would "cooperate" on software side.
  But I hope like the sales fee, they will see that way as their
  own possibility and contribution. Nor x5000 sales or Tabor sales, at least without OS 4.2 and Libre, cannot change sad state of affirs in AOS4 realm.68k is back on road!


Wawa T

Posts 695
06 Sep 2017 22:17


the problem is that the issues we face are not os4 exclusive, they are only most apparent there, since the public that serves the attitude has gathered around it, considering it most succesful and legitimate offspring of whats been left of amiga. once assumed another option takes lead, the same behaviour will swap over with the public attracted.

i think it should be considered how to (frontally) face the incoming wave (and even take advantage of it) with best interest for the whole community, rather than passively wait to be flooded with and tstuck in the usual boring stuff like "dreamig and hoping". the question is, how to ignite interest and initiative even in this kind of people, instead.


Gregthe Canuck

Posts 274
07 Sep 2017 01:12


Steve Ferrell wrote:

Thanks.  I'll try to follow your advice.  But answer this for me.  Does it seem to you as if the Amiga community has more than its fair share of idiots and trolls?  I follow several IT interests online but the Amiga community takes the cake with regard to trolls, idiots and cyber-bullies.  Hanging out too much at A.org and a few other sites can certainly skew one's view of reality.

Sure - lots of trolls/idiots. But what reasonable person would stick with Amiga for this long? Not many so we are left with a healthy dose of the lunatic fringe... present company excepted, of course...  ;)

Hopefully the V4 will attract some users longing for simpler times before Windows. We shall see. The nice thing with the V4 is the potential client base is no longer constrained by the availability of functioning classic Amigas.




M Rickan

Posts 177
07 Sep 2017 02:40


Michal Warzecha wrote:

  I'm not sure You should care about this much. Good product will defense himself.
 

 
Bingo - the proof of the pudding is in the eating.
 
There are far more productive and enjoyable things to do in life to do than engage in a war of words with people who like to provoke arguments.
 
Borrow a page from Frozen: Let. It. Go.
 


Renee Cousins
(Apollo Team Member)
Posts 142
07 Sep 2017 04:11


I think a great approach would be to write Amos Pro extensions. These are pure assembly and can be built using new 68080 AMMX instructions. The compiler will automatically weave these into the final application. Great things a new Amos Pro extension(s) could have:

* New 3D rendering engine with texture mapping, lighting
* Fast chunky mode graphics, sprites, blending
* AI routines for path finding, value judgements, deep learning
* New "fast math" replacement for SIN, ATAN like functions
* Filter algorithms for 2D bitmaps
* Bitmap converters (CMYK->LAB->RGB)
* File-type loaders (PNG, JPEG, MPEG)

Anyway, by writing an extension, you're gaining all the advantages of a complete IDE, compiler and other tools provided by the core language while still being able to leverage new features of the 68080 AMMX.


Renee Cousins
(Apollo Team Member)
Posts 142
07 Sep 2017 04:15


Back in the day I wrote my own 3D library that used an approximate arctan for projection instead of X/Z style projection and used a simple scanline filler for polygons. Was pretty fast (I think I was getting about 15,000 flat-shaded polygons per second on my A1200) and really easy to write.


Samuel Crow

Posts 424
07 Sep 2017 18:40


Renee Cousins wrote:

I think a great approach would be to write Amos Pro extensions. These are pure assembly and can be built using new 68080 AMMX instructions. The compiler will automatically weave these into the final application. Great things a new Amos Pro extension(s) could have:
 
  * New 3D rendering engine with texture mapping, lighting
  * Fast chunky mode graphics, sprites, blending
  * AI routines for path finding, value judgements, deep learning
  * New "fast math" replacement for SIN, ATAN like functions
  * Filter algorithms for 2D bitmaps
  * Bitmap converters (CMYK->LAB->RGB)
  * File-type loaders (PNG, JPEG, MPEG)
 
  Anyway, by writing an extension, you're gaining all the advantages of a complete IDE, compiler and other tools provided by the core language while still being able to leverage new features of the 68080 AMMX.

The OS Extension is downloadable for free on EXTERNAL LINK (The Ultimate Amiga forum) though, due to a bug in the configuration of the website, it requires a free account signup.  It will let you access features of AmigaOS 3.x (whose Kickstart image is included in the Vampire anyway) fulfilling the Datatypes support I think, to allow OS-style bitmap loading.  Likewise, using the Set Double Precision allows the Floating Point support on AmosPro to use IEEE Double Precision math instead of Motorola Fast Floating Point library.  If you want fixed point trigonometry functions, the AMCAF extension has 12-bit Sine and Cosine functions which can be derived elsewhere (Tan X=Sine X/Cosine X).

This leaves 3D which could be accessed from a shared library such as StormMesa or similar, AI (I have no experience with this), and P96 support for the YUV and high/true color modes (CMYK and LAB colorspaces are used mainly in the printing industry).

The real problems with AmosPro are that it doesn't support OS screens directly (you have to use the OS extension) and therefore is difficult to divert to P96/CGX chunky support as a result.  Even if you do use the OS extension, you still end up writing a bunch of LibCalls to CyberGraphics.library for chunky support and that is only to get to the point of being equivalent to C, not to mention the compiler does very little optimization of code.  The IDE is nice but the compiler and interpreter are both slow and somewhat buggy by reputation.  Since the source is available, I'd wait a few revisions before giving it the stamp of approval.


Samuel Crow

Posts 424
07 Sep 2017 18:52


Renee Cousins wrote:

Back in the day I wrote my own 3D library that used an approximate arctan for projection instead of X/Z style projection and used a simple scanline filler for polygons. Was pretty fast (I think I was getting about 15,000 flat-shaded polygons per second on my A1200) and really easy to write.

Great!  Did your scanline filler skip the blitter fill mode?  I know a trick that allows all of the fills of all the solid polygons to be combined into one big blit!


Steve Ferrell

Posts 424
07 Sep 2017 20:29


Renee Cousins wrote:

      I think a great approach would be to write Amos Pro extensions. These are pure assembly and can be built using new 68080 AMMX instructions. The compiler will automatically weave these into the final application.
     

     
I have nothing against Amos Pro but I feel that any efforts should be focused on languages that offer broader support.  By broader, I mean cross-platform languages and languages which can be easily extended without hacks or programming tricks and can leverage some already mature, well maintained and robust API's.  Some of these API's include SDL/SDL2, JPEG, ZLIB, OpenGL, etc.  As a C/C++ programmer I don't have any intention of learning to program in Amos and most of my colleagues, while I can't speak for them, I'm pretty sure they feel the same way.
     
What's wrong with extending the capabilities of existing C/C++ compilers to take advantage of the Vampire's features?  C and C++ are inherently extensible without hacks or other programming tricks.  They can be extended now just by adding the appropriate headers/include files and link libraries.  I.e AMMX include files and an AMMX link time library would be nearly all that's needed for C/C++ programmers who want to take advantage of AMMX on the Vampire.  Another advantage of C/C++ is that many apps and games can be ported from other architectures with little to no effort.  It has a huge code base.  That can't be said for Amos. Amos is a dead language and outside of the Amiga and Atari communities, no one has even heard of it let alone programs in it.
 
Amos is also not OS friendly.  Apps and games developed under Amos bypass the OS and take over the hardware which makes it a very poor choice for developing for a multi-tasking OS.
     


Renee Cousins
(Apollo Team Member)
Posts 142
08 Sep 2017 02:44


It was use the blitter line mode, xor fill or write them with the CPU and at the time, the CPU was the fastest. There were lots of problems with the xor (good for your for working around them) and the blitter lines weren't any faster horizontally than vertically whereas the CPU can write sixteen bits at a time. I later learned about blitter queues which wouldn't make the fills faster, but would free the CPU for working on the next frame, improving speed overall.


Renee Cousins
(Apollo Team Member)
Posts 142
08 Sep 2017 03:41


Steve Ferrell wrote:
I have nothing against Amos Pro but I feel that any efforts should be focused on languages that offer broader support.  By broader, I mean cross-platform languages and languages which can be easily extended without hacks or programming tricks and can leverage some already mature, well maintained and robust API's.

It was meant to be a "fast" way to getting 68080 compatibility, not an end-all-be-all solution. I know it's not the best -- or even a "real" compiler -- but it was still pretty fast and easy to get things up-and-running. AMOS programming was a lot more fun as well; easy to draw a few sprites and slap a little program together. Some really great games in the day were made with AMOS.

Steve Ferrell wrote:
What's wrong with extending the capabilities of existing C/C++ compilers to take advantage of the Vampire's features?  C and C++ are inherently extensible without hacks or other programming tricks.

C/C++ is my day job -- I want this to be fun. I don't even know if there are any good 68K compilers out there anymore, certainly GCC isn't one of them if its ColdFire implementation is any indication. And even my quad-core 2GHz, SSD-based machine doesn't compile code fast enough. God forbid I touch the wrong header file and trigger a rebuild of the whole source tree.

Time for a coffee break...

So what about the two "big" interpreted languages like Lua and Python? I worked on the PSP port of Lua and know its insides pretty well (assuming it hasn't changed too much), so maybe that would be more fruitful? Does the 68080 have enough oomph to JIT?


Renee Cousins
(Apollo Team Member)
Posts 142
08 Sep 2017 04:01


Oh, wait, Blitz is still around too...


Steve Ferrell

Posts 424
08 Sep 2017 08:25


Renee Cousins wrote:

  Oh, wait, Blitz is still around too...
 

 
I think python and LUA would be great. The Amiga is in need of some  main stream programming alternatives.
 
I've heard the same complaints about GCC and 68K development.  VBCC seems to be the best 68K C compiler for Amigas at the moment and is still actively maintained.  The latest version is 0.9f and was updated on 14-Aug-2017. EXTERNAL LINK 
It also supports PPC, MOS, AROS, Atari Mint/TOS and OS4.
 
In addition to Blitz there's also PureBasic.  The Windows, Linux and MacOS versions are still actively developed and are at version 5.6.  The Amiga version was open sourced at version 4.0 and is available for free here:  EXTERNAL LINK 
I use it on Windows, Linux and OSX for rapid prototyping.  It generates real EXE's instead of byte-code and source is roughly 98% compatible across all platforms.  I'll have to fire up the Amiga version and see how far it lags behind the other versions. 
 
  I think Blitz was recently open sourced as well.  I used the Windows version for some projects and it was pretty powerful.
 


Manfred Bergmann

Posts 226
08 Sep 2017 09:04


Steve Ferrell wrote:

Renee Cousins wrote:

  Oh, wait, Blitz is still around too...
 

 
  I think python and LUA would be great. The Amiga is in need of some  main stream programming alternatives. 

Lua, Python, etc. are scripting languages. Dynamically typed and hence error prone. Useful for scripts.
But not for serious application development.
Rust, Go or Swift are better alternatives.

Manfred


Thierry Atheist

Posts 644
08 Sep 2017 11:23


I do not deny that assembler and C are absolutely essential to exist and be available. In fact, nothing is possible without assembler (machine code). A few other languages as well are necessary. I won't go into a broader list.

But, I want to dissect this a bit. (More at the end.)
Steve Ferrell wrote:
I have nothing against Amos Pro but I feel that any efforts should be focused on languages that offer broader support.

Not many people will be working on giving AMOS Professional a revamp. ;-)
Steve Ferrell wrote:
By broader, I mean cross-platform languages and languages which can be easily extended without hacks or programming tricks and can leverage some already mature, well maintained and robust API's.

Some of these API's include SDL/SDL2, JPEG, ZLIB, OpenGL, etc.


Vaguely to mostly not at all familiar to this.

Steve Ferrell wrote:
As a C/C++ programmer I don't have any intention of learning to program in Amos and most of my colleagues, while I can't speak for them, I'm pretty sure they feel the same way.

That's all well and good and as we desperately need C/C++ programmers. That's in addition to assembler coders.

Steve Ferrell wrote:
What's wrong with extending the capabilities of existing C/C++ compilers to take advantage of the Vampire's features? C and C++ are inherently extensible without hacks or other programming tricks. They can be extended now just by adding the appropriate headers/include files and link libraries.  I.e AMMX include files and an AMMX link time library would be nearly all that's needed for C/C++ programmers who want to take advantage of AMMX on the Vampire.

Who's opposed to that? NO ONE is against that.... I would think.

Steve Ferrell wrote:
Another advantage of C/C++ is that many apps and games can be ported from other architectures with little to no effort.  It has a huge code base.

Cool, even better!!!
Steve Ferrell wrote:
  That can't be said for Amos. Amos is a dead language and outside of the Amiga and Atari communities, no one has even heard of it let alone programs in it.

Well, that's THEIR loss. I don't care for much about outside of the Amiga community. Well, with the caveat that we need to import what they are doing.

As to AMOS (Professional) being "a dead language", I dispute that. Not many coders are using it, as there aren't many in the user base anymore either. Besides, as fast as AMOS is, it's "slow" compared to C and especially assembler. That will change IMMENSELY with the Vampire 2 and 4. AMOS code should now run probably 10 times faster than assembler on an A2000 running at 7.12 MHz (with both chip and some fast RAM too)!!!!!

THAT'S A LOT OF THE POWAH!!!!!
Steve Ferrell wrote:
Amos is also not OS friendly. Apps and games developed under Amos bypass the OS and take over the hardware which makes it a very poor choice for developing for a multi-tasking OS.

There's really nothing wrong with that. I mean, why not start up your Vampire 4 and JUST play a video game on it?

***************
Here's where I've collected snippets of your post I want to focus on in detail:

I've condensed what you said. In this case context is not an issue.
Steve Ferrell wrote:
By broader, I mean cross-platform languages that can leverage some already mature, well maintained and robust API's. Some of these API's include SDL/SDL2, JPEG, ZLIB, OpenGL,

They can be extended now just by adding the appropriate headers/include files and link libraries.  I.e AMMX include files and an AMMX link time library would be nearly all that's needed for C/C++ programmers who want to take advantage of AMMX on the Vampire. 


"leverage some already mature, well maintained and robust API's. Some of these API's include SDL/SDL2, JPEG, ZLIB, OpenGL"
"adding the appropriate headers/include files and link libraries.  I.e AMMX include files and an AMMX link time library"

So, I don't know what "robust API", "SDL/SDL2", "JPEG", "ZLIB", "OpenGL", "appropriate headers/include files and link libraries" and "AMMX link time library" mean, and I PROBABLY never will.

But I do know this:
code sample wrote:

Print "Hello. Do you want to play a game? (Y/N)"
repeat
Answer$=inkey$
until Answer$="Y" or Answer$="N"
? Answer$
If Answer$="N" Then end

I just wrote a program and HAVE NO IDEA what any of the items I highlighted just above that code mean!!

AMOS is for the 90%-97% of the people that have no inclination or ability to code in C/assembler. IF it was so easy to write code in those languages, no others would have to exist!!!!

For those that can't learn those two (three, C++), AMOS Pro is the world's easiest language to code in. BlitzBASIC doesn't come close. The only language I've seen that gets close to it is DarkBASIC, and even it has MANY problems. I've tried to use it with little success. Running on win-dos is part of the problem, it being so atrocious.

I've also looked up as many BASIC and similar languages as I could find (on win-dos) and they ALL have flaws as in, not enough capability through to difficulty to use. Heck, one was called "simple".... and I wasn't able to use it at all. Also, didn't look like it gave you enough control of anything that you wanted to control.

ANYONE can learn AMOS Professional. And, A LOT can be done with it.


Thellier Alain

Posts 141
08 Sep 2017 12:48


>giving AMOS Professional a revamp
There is Sharynn in France that is working on AmOS4
http://www.amiga-ng.org/viewtopic.php?topic=1290&forum=14&ancre=1&start=0#14129017283
Once Amos will be ported (langage C + RTG) to OS4 then retro-porting it to OS3/Vampire will be easy

Alain


Samuel Devulder

Posts 248
08 Sep 2017 14:17


@Alain: not updated since 2013 ?
( EXTERNAL LINK )


Steve Ferrell

Posts 424
08 Sep 2017 17:48


Manfred Bergmann wrote:

Steve Ferrell wrote:

 
Renee Cousins wrote:

    Oh, wait, Blitz is still around too...
   

   
  I think python and LUA would be great. The Amiga is in need of some  main stream programming alternatives. 
 

 
  Lua, Python, etc. are scripting languages. Dynamically typed and hence error prone. Useful for scripts.
  But not for serious application development.
  Rust, Go or Swift are better alternatives.
 
 
  Manfred

Yes, I know what they are.  The Amiga needs some alternative programming languages as AREXX and native scripting in my opinion are horrible.



Manfred Bergmann

Posts 226
08 Sep 2017 17:54


Steve Ferrell wrote:

Manfred Bergmann wrote:

 
Steve Ferrell wrote:

 
Renee Cousins wrote:

    Oh, wait, Blitz is still around too...
   

   
    I think python and LUA would be great. The Amiga is in need of some  main stream programming alternatives. 
 

 
  Lua, Python, etc. are scripting languages. Dynamically typed and hence error prone. Useful for scripts.
  But not for serious application development.
  Rust, Go or Swift are better alternatives.
 
 
  Manfred
 

 
  Yes, I know what they are.  The Amiga needs some alternative programming languages as AREXX and native scripting in my opinion are horrible.
 

Really. I came as a beginner to ARexx last year and found it surprisingly fresh.
No need to replace that in my opinion.

posts 80page  1 2 3 4