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
The team will post updates and news about our project here

Software for Vampirepage  1 2 3 4 

A1200 Coder

Posts 74
10 May 2019 16:31


Ok, thanks for the clarification Gunnar. But as I understand those are the features planned for V4, and not available yet.

There is just a few SAGA registers documented so far
EXTERNAL LINK 
and these are related to the RTG graphics on V2. We also need SAGA audio registers, sprite registers, new bplcons and so on. Maybe also new DMA channels to control. As the idea behind the Amiga was about using DMA to speed up performance.


John William

Posts 563
10 May 2019 18:47


Ronnie Beck wrote:

MartinTomas Steffen wrote:

  But Software that just exists on Vampire is what i call wrong.
 

 
  Who makes these rules?  Calling such software wrong, is probably wrong in itself.
 
  This Vampire hardware is special and offers opportunities which were never available to an Amiga previously.  It pushes the boundaries and allows us to enjoy our Amiga's more in new facinating way.  It allows us to do things with the platform that we couldn't because the hardware just never kept paced, leaving us fans feeling slightly dissapointed and envious.  It isn't wrong to get what you wanted in the end.  Not at all.
 
  Newer software which pushes beyond the limits of our favourite computer will needs to break out of the old mold a little.  Is that true to retro computing?  Maybe not.  Maybe this just pure tinkering with a retro computer as the basis.  But it is a hobby at the end.  You do as you please with your hobbies because it brings you pleasure.  I myself came back to the Amiga because I found the idea of an A500 with a lot more power a very exciting idea.  And it has been a satisfying experience indeed!
 
  How can software/hardware, in this context, be "wrong"?  Engineers are driven largely by curiousity.  Innovation is living the engineer's dream.  I don't see there being anything wrong with a software/hardware engineer doing what he loves.  Especially if is creative, constructive and for the mutual benefit of others.
 
  I salute your sentiment though, in that you don't want to see others excluded or a community divided.  It is in the right spirit.  But the Vampire scene doesn't exist at the exclusion of others.  People are free to buy a Vampire card if they want to join in.  The emulator writers can always add Vampire compatibility at any time.  They are free not to, if they don't like it.  And many choose not to.  Their choice.
 
  Imagine if Amiga users had taken this attitude to software which required an 060?  Or an 040?  Or an 030....I think you get the point.
 
 
MartinTomas Steffen wrote:

    Damm, dont know how to explain what i want say on english.
    I just dont want to give Benzin ⛽️ to this Vampire-haters.
 

 
  We know what you mean.  Maybe the expression "Give the haters ammunition" is also equivalent.

I know right!! I WANT VAMPIRE EXCLUSIVE SOFTWARE!! I want software to exploit the Vampire potential...I want Vampire exclusive game titles, AAA game titles...I want Vampire exclusive applications, movie players, etc.....


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
11 May 2019 08:15


Salut Gilles

Gilles Dridi wrote:

  What about HAM mode? Are new mode compatible or only original Amiga modes?

Yes, SAGA fully supports all Amiga special modes
EHB and HAM6 and HAM8.

Gilles Dridi wrote:

  What about disk DMA mode?

SAGA supports DMA like the original AMIGA.
But as floppy drives today are real rarity, the V4 has no floppy port.

Gilles Dridi wrote:

And Network data transfer?
Thinking about DMA time slots allocation...

Yes the V4 has build in Network hardware.
SAGA supports DMA as for Network.
The Network DMA can do 100MB/bit.

Gilles Dridi wrote:

are Sound stopped/perturbed by an Ethernet block transfer received in « isochrone mode » that’s for video over IP (reuses of disk DMA for this transparent parallelism?) or interrupt level (6) with fast enough data routine network processing (the TCP/IP stack) is ok/enough ; though True Ethernet is not over internal Amiga serial register.

Sound is not affected by Network DMA.
The Vampire network does NOT go not over slow serial.

SAGA is really an improved AMIGA chipset.

Cheers



Barana V
(Needs Verification)
Posts 59/ 1
11 May 2019 09:42


"Obviously I'm no coder either, but I still have the impression that the lack of support in C compilers is a major issue"

No issue at all
Most C compilers have facility for ASM code
This design was from the beginning of C.

Ronnie Beck: Thanks ! You've read the text plainly and understood it. You also have detected a lack of malice on my part.
(You don't have a few minutes to pull a few knives from my back ,do you ? :)


Gilles Dridi

Posts 52
19 May 2019 22:31


Gunnar von Boehn wrote:

Salut Gilles
 
 
Gilles Dridi wrote:

  What about HAM mode? Are new mode compatible or only original Amiga modes?
 

  Yes, SAGA fully supports all Amiga special modes
  EHB and HAM6 and HAM8.
 
 
 
Gilles Dridi wrote:

  What about disk DMA mode?
 

  SAGA supports DMA like the original AMIGA.
  But as floppy drives today are real rarity, the V4 has no floppy port.
 
 
 
Gilles Dridi wrote:

  And Network data transfer?
  Thinking about DMA time slots allocation...
 

  Yes the V4 has build in Network hardware.
  SAGA supports DMA as for Network.
  The Network DMA can do 100MB/bit.
 
 
Gilles Dridi wrote:

  are Sound stopped/perturbed by an Ethernet block transfer received in « isochrone mode » that’s for video over IP (reuses of disk DMA for this transparent parallelism?) or interrupt level (6) with fast enough data routine network processing (the TCP/IP stack) is ok/enough ; though True Ethernet is not over internal Amiga serial register.
 

  Sound is not affected by Network DMA.
  The Vampire network does NOT go not over slow serial.
 
 
  SAGA is really an improved AMIGA chipset.
 
  Cheers
 

Can we call that asynchronous DMA ?

Thank you,

Best regards



Kamelito Loveless

Posts 260
27 May 2019 14:02


It is true but Amiga compilers do not know about new features like AMMX so they won’t be able to assemble such code or you need to produce vasm compatible assembler source code and it will take care of Vampire Features. Better than nothing but compiler support at C level would be nicer.


Gilles Dridi

Posts 52
27 May 2019 20:33


Kamelito Loveless wrote:

  It is true but Amiga compilers do not know about new features like AMMX so they won’t be able to assemble such code or you need to produce vasm compatible assembler source code and it will take care of Vampire Features. Better than nothing but compiler support at C level would be nicer.
 

 
  It is true, but managing rhythm of solfea theory is enough :
  EXTERNAL LINK  And managing Arabic typography (new, computerized) is enough for me :
  EXTERNAL LINK 
  Perhaps a post graduate or an under graduate « genius » can do the job of bringing a C compiler with SIMD and more optimized code generation and test cases suite also.
 
  More important is bringing C# async/await construct and Task.Run() to a C like language nevertheless waiting for Coroutines in C++ to implement Promises & futur is better.. than doing legal send()/wait()/DoIO() and specific Amiga I/O Programming.
  But exploring pseudo -message passing capabilities with all these DOS devices is better!
  In fact just start with audio.device request and timer.device and C++ POO is almost enough :
EXTERNAL LINK  Framework and examples(test case as for debugging) for Exec Programming tutos!!
 
  That was Bach! in 1995 as you see the timestamp from unbuggy LHArchive utility of that time.
  Also, yielding GenericProgramming with vector and matrix classes in C++ was a « short » project of my college / university graduation back in 1994 all along with type systems and compilation courses (so you’re right : may be I’m probing this challenging subject) but miss some final courses on code generation in Lisp !
 
  Cheers


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
28 May 2019 05:52


Kamelito Loveless wrote:

  It is true but Amiga compilers do not know about new features like AMMX so they won’t be able to assemble such code or you need to produce vasm compatible assembler source code and it will take care of Vampire Features. Better than nothing but compiler support at C level would be nicer.

There are several areas where an good compiler can get a more speed.
 
APOLLO 68080 has 4 main improvements over the older 68K cores.
 
a) optimized instruction speed
Some instruction like e.g. certain bitfields which took 9 cycles before on 68060 are now executed in single cycle.
 
b) More registers.
Apollo 68080 has not 8+8 but 16+32 registers.
More registers allow to calculate certain algorithms more efficient.
 
c) Fully pipelined FPU.
Apollo 68080 has a pipelined FPU coding using this can reach MUCH higher Flop counts.
 
d) AMMX - AMMX is a wonder weapon for certain programs but not for all. For GFX, Video and Game coding AMMX can make a different and double the speed or even increase the speed more than double.
 


Vincent Brumback

Posts 2
28 May 2019 18:25


Currently on the wait list for the Vampire 500 V2+ and looking forward to the day to install it in my A1000.

All of the amazing things it does for an old epic computer is truly astonishing!

I am hopeful for new software that will take advantage of the hardware.


Steve Ferrell

Posts 424
28 May 2019 19:01


Barana V wrote:

  "Obviously I'm no coder either, but I still have the impression that the lack of support in C compilers is a major issue"
 
  No issue at all
  Most C compilers have facility for ASM code
  This design was from the beginning of C.
 
  Ronnie Beck: Thanks ! You've read the text plainly and understood it. You also have detected a lack of malice on my part.
  (You don't have a few minutes to pull a few knives from my back ,do you ? :)
 

 
Yes, it IS an issue.  Most C/C++ coders do not know assembly language nor do they have the time or inclination to learn it.  So they will not be compiling apps that will take advantage of Vampire AMMX extensions by inserting assembly code into their C/C++ sources.  C/C++ developers will not be writing Vampire specific apps unless and until there is a compiler that incorporates the AMMX extensions, unless they are already expert assembly programmers, in which case, they wouldn't even need to code in C/C++.


Barana V
(Needs Verification)
Posts 59/ 1
01 Jun 2019 00:31


Ohhhh there there, all is not lost,
CLICK HERE  Beside each assembly instruction, is an example on how to perform it in C.
Is that better answer for you?


Steve Ferrell

Posts 424
01 Jun 2019 07:06


Barana V wrote:

    Ohhhh there there, all is not lost,
    CLICK HERE      Beside each assembly instruction, is an example on how to perform it in C.
    Is that better answer for you?
   

   
No, that is not a better answer for me nor for any other C/C++ developer who wants to port or develop Vampire-specific applications. The link you're referring to is merely a list of AMMX Vampire assembly instructions and some C equivalents. 
   
You obviously aren't a C/C++ programmer nor any other kind of developer based on your comments and that link that you provided.  If you are/were a developer, you should be quite embarrassed.  Things are quite a bit more complex than just substituting/replacing a C function call with an AMMX assembly function call.
   
BTW, inserting assembly calls into C/C++ source code varies by compiler.  Here's how it's done using GCC:  EXTERNAL LINK   
And here's how it's done in Visual Studio:  EXTERNAL LINK   
Do you not realize that C and 68K assembly language are two totally different languages?  And just because a developer knows how to code in C/C++ doesn't mean he knows how to code in assembler, especially on something as obscure as the 68K series of CPU's.  And those C equivalents in the link are only helpful in explaining the specific purpose of the AMMX instructions.  They do little to help the C programmer port existing C/C++ sources to the Vampire.  It's great for an assembly programmer who is also fluent in C, but not very useful otherwise.
   
Most C/C++ programmers know how to insert assembly calls into their C source code, including me, but that isn't the problem .  The vast majority of C/C++ developers do not know 68K assembly language (nor Intel x86 assembler either for that matter) and have neither the time nor the desire to learn it.  Especially for a CPU architecture that's been dead since the 1990's.  It takes a lot more in-depth knowledge to code in assembly language than just providing a list of available instructions for a specific CPU target and some C equivalents.
   
I've been a C/C++ developer for over 30 years (Amiga, MAC, Windows & Linux) and have never coded in assembly language and have no desire to learn it either, especially when it comes to a dead CPU architecture like the Motorola 68K series. I also won't be learning assembly language for a living architecture such as Intel's x86 CPU line either, and that's where I make my money.  I also don't know of any other C/C++ developers who are fluent in assembly language, even on Intel CPU's, so you certainly aren't going to find more than a handful of C/C++ developers on the entire planet who are fluent in both C/C++ and 68K assembly.  So are you proposing that Vampire C/C++ developers learn 68K assembler or should they just hire a 68K assembly language programmer when they need to write Vampire-specific code?  Neither of those two things will ever happen, BTW.
   
And I don't know of a single C/C++ developer who is going to invest his time and resources into learning assembly language for a dead CPU architecture, not to mention the living architectures such as ARM or x86.
   
Assembly language is also CPU specific so most C/C++ developers who are also fluent in assembly language are fluent in x86 or ARM assembly, not 68K assembly language. All three are quite different.  There's nothing to motivate C/C++ developers to learn 68K assembler.  Developers go where the money is, and the Motorola 68K series isn't it.


Barana V
(Needs Verification)
Posts 59/ 1
01 Jun 2019 09:06


Yes yes yes I understand all that you say with many words, but I think the sense of entitlement by which you write won't take you far.
  If you want libraries and functions headers and more for your favourite C compiler(it  seems that we are a genesis of a community and but a fractional subset of the main Amiga community) there is but one thing to do.
  Write them for yourself.
  If you do posess the knowledge needed , it would be sufficient to keep you busy 'doing' rather than only pointing to the need.
  I learnt C from a for 'dummies' book. In it , it showed me how to created new headers libraries and all such things.
  I have an ISBN number if you like.
  There are many compilers you can choose from to make a start.
  Well then, make a start.


Mike Kopack

Posts 268
01 Jun 2019 13:14


What this boils down to is that the compilers need to be upgraded to support the new ‘080 cpu instruction set so it can build optimized code for that architecture. For Gcc that shouldn’t be too difficult as it is done all the time. For the older straight up Amiga compilers that’s a much bigger undertaking. Even just adding support for items a, b and c in Gunnar’s list could make a big difference in performance on the new cpu.
 
  As long as we get something that allows us to write and build Amiga apps that can be optimized for the new cpu without resorting to manually inserting 68k assembly, then I think it’ll be ok, I’m certainly in the “don’t want to have to learn assembly” camp... or rather relearn it (did a little MIPS assembly back in the early 90’s in college).


Steve Ferrell

Posts 424
01 Jun 2019 17:02


Barana V wrote:

    Yes yes yes I understand all that you say with many words, but I think the sense of entitlement by which you write won't take you far.
      If you want libraries and functions headers and more for your favourite C compiler(it  seems that we are a genesis of a community and but a fractional subset of the main Amiga community) there is but one thing to do.
      Write them for yourself.
      If you do posess the knowledge needed , it would be sufficient to keep you busy 'doing' rather than only pointing to the need.
      I learnt C from a for 'dummies' book. In it , it showed me how to created new headers libraries and all such things.
      I have an ISBN number if you like.
      There are many compilers you can choose from to make a start.
      Well then, make a start.
   

   
Seriously?  You've read "C for Dummies" and now you're an expert in compiler design?  What YOU don't understand is that an expert assembly language programmer will have to develop the headers AND the link libraries and possibly perform an entire re-write of an existing C/C++ compiler to take advantage of the Vampire's AMMX extensions.  A code optimizer would also have to be incorporated into said compiler.  This won't occur by simply reading "C for Dummies" and grabbing a keyboard and referring to your earlier link to the AMMX instruction set.  Adding AMMX to an existing compiler is much more complex than simply adding headers and some libraries, and "C for Dummies" is NOT the basis for such an undertaking, although you seem to believe it has all the answers.  In your case it has merely kept you entirely ignorant of compiler design.
 
Upgrading/updating a compiler also means that access to the compiler's source code is a necessity.  This isn't a problem for opensource x86/ARM compilers such as GCC or CLANG, but most of the compilers for the Amiga were/are commercial products and closed-source.
 
And no thank you in regard to the ISBN number for "C for Dummies".  My skill set is well beyond that book.  I'm neither a "dummy" nor a novice in regards to C/C++. The title seems more apt for you and your skill level.


Markus B

Posts 209
01 Jun 2019 17:42


For sure enhancing an existing compiler to make use of new features is not a simple task.
Despite this simple fact I assume it would boost development of new software as not every programmer is keen on assembler.


Steve Ferrell

Posts 424
01 Jun 2019 20:35


@Markus B
@Mike Kopack

You are both spot on with your comments.  When Intel released their first SSE/MMX enabled CPU, they didn't expect 3rd party C/C++ software developers to create the tools necessary to take advantage of the new instruction set.  That's like expecting a carpenter to make his own hammer.  That expectation would have been ludicrous seeing as how 3rd party C/C++ developers were busy writing apps that earned them a living and didn't have the time or resources to develop a new compiler for Intel free of charge. Not to mention that most C/C++ developers didn't possess the necessary x86/SSE/MMX assembly language skills and documentation to even begin such a task.  Intel updated their compiler which took considerable time, lots of money and a team of in-house developers.

They then went on to assist Microsoft in updating the predecessor of Visual Studio, then called Visual C++, to add SSE/MMX capabilities to that compiler.  It was called the Visual C++ Processor Pack:  EXTERNAL LINK 
Adding a seamless optimizer took considerable time and effort, so in the interim, Microsoft with Intel's assistance published the Visual C++ Processor Pack which added SSE/MMX support in the form of new link-time libraries for the compiler and to MASM, the assembler.  It was some months later before there was seamless integration of the optimizer and SSE/MMX enabled libraries into the compiler and IDE.  This meant that C/C++ developers no longer had to insert inline assembly into their C/C++ source code or import object code from an external source.

The above scenario is a parallel to the 68080.  Gunnar and the Apollo Team have developed a new CPU with AMMX capabilities and they will either need to adapt a current compiler such as the 68K version of GCC to take advantage of the new instruction set or write a new optimizing compiler from the ground up (not fun or fast).  Expecting C/C++ coders from the Vampire hobbyist community to undertake such an effort is ridiculous.

GCC for 68K would be the most likely candidate for such an update and just as with Microsoft's Processor Pack, the Apollo Team could publish AMMX libraries until they get GCC modified to the point that it produces acceptable, optimized 68080/AMMX code.  Not ideal, but it would be a huge interim improvement over what we have now.



Barana V
(Needs Verification)
Posts 59/ 1
02 Jun 2019 01:12


Rotfl
  They must provide!!! We demand it!!! Microshaft/ Intel did it. Of course,you can't expect Moi to dirty my hands!!! I just can't possibly be expected to use inline assemby instructions myself(surely the world is over)! Or even a few C primatives. Commodore supported us better when I was a bedroom coder!!!We can't be expected to work with these terrible conditionsl!It's THEIR responsibility!!! What will the neighbours think?!!
  Rotflmao


Mr Niding

Posts 459
02 Jun 2019 01:21


Barana V wrote:

Rotfl
  They must provide!!! We demand it!!! Microshaft/ Intel did it. Of course,you can't expect Moi to dirty my hands!!! I just can't possibly be expected to use inline assemby instructions myself! Or even a few C primatives. Commodore supported us better when I was a bedroom coder!!!We can't be expected to work with these terrible conditionsl!It's THEIR responsibility!!! What will the neighbours think?!!
  Rotflmao

Nice post.

I dont think Steve expects the Apollo team to do ANYTHING. Hes just saying what is needed to realistically expect productivity on the Vampire platform.

I have tons of things I want to do related to my own job, but I dont have the time to do it; so I have to prioritize. Steve and other developers surely have the same issue with their own time.

They/he is very well versed in C/C++, and dont have the time or inclination to gain the depth of knowledge in assembly like Gunnar, Flype and others on the team obviously have.

SO the obvious way forward is for people with already INDEPTH knowledge in Assembly to provide tools/enhancements that will allow a larger (mainstream) pool of developers to utilize the Vampire spesific features.


Steve Ferrell

Posts 424
02 Jun 2019 04:21


Barana V wrote:

    Rotfl
        They must provide!!! We demand it!!! Microshaft/ Intel did it. Of course,you can't expect Moi to dirty my hands!!! I just can't possibly be expected to use inline assemby instructions myself(surely the world is over)! Or even a few C primatives. Commodore supported us better when I was a bedroom coder!!!We can't be expected to work with these terrible conditionsl!It's THEIR responsibility!!! What will the neighbours think?!!
        Rotflmao
   

   
You're obviously suffering from language barriers in both C and in English because no one here has been demanding anything except for you.  You've been demanding that Vampire C/C++ hobbyists re-write/update a C/C++ compiler to take advantage of a new SIMD/AMMX instruction set and that it should be quite easy based on your reading of the book "C for Dummies".  I almost wet my pants when you wrote that.  You're  suffering from a complete lack of understanding in regard to C/C++ development and compiler design since you believe in your own words that you "learnt" C programming by reading that book.
   
I also don't expect YOU to do anything except continue to make snide remarks and use terms like ROTFLMAO. Is your age in the single digits?  Because I know 10 year old kids who have more manners and class than that. And besides, I don't think you're capable of much beyond that of being a juvenile, let alone undertaking ANY coding projects as comprehensive as compiler design or enhancement.  I doubt you could even muddle your way thru the hello-world.c exercise found in your precious "C for Dummies" book.  By the way, that book, good sir, was named just for you.
   
Since "C for Dummies" has made you so knowledgeable and you believe it's such an easy and mundane task to update a compiler to use SIMD and AMMX instructions, maybe you should pick up the torch and with your handy list of AMMX instructions that you found on this site,  provide a compiler that implements the 68080 enhancements?
   
And how do you propose that ANY C/C++ compiler be updated for the Vampire without the source for said compiler?  Oh, that's right, you read "C for Dummies" and it said that it's as easy as adding some new headers and some link libraries and you're done.  Certainly your "C for Dummies" bible will have all the answers we need.  And if it doesn't provide all the answers, I'm sure you will have some of your own.  Since you're suffering from language barriers in both C and English, I will say that the previous two sentences were strictly sarcasm so that you don't misunderstand me.
   
Come on answer man....enlighten us.  And thank you so much for adding such valuable technical insights to this discussion in the form of "ROTFLMAO" and "ROTFL". They are simply priceless in terms of their technical value.
   

posts 65page  1 2 3 4