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
Documentation about the Vampire hardware

Compiler and Assembler of Choice for Vampire Code?page  1 2 

Antony Coello

Posts 153
08 Oct 2020 19:44


OK, so I get my (hopefully working for the V500+2) A500 board back next week.

I will need a good C compiler and assembler to code for Amiga/Vampire.

Are there any good recommendations?

In assembly, Im used to Atari Devpac 3 and actually have the Amiga version too. Its a bit clunky, but I can cope with it.

As for the C compiler... just nything with C99 level compatability would be great as it will more or less match my hybrid code without too much converson/pain.

For both, I prefer IDEs to command line assemblers/compier/linkers, but if the difference is night and day, I may be persuaded to switch.

Also, Windows compiler/assembler would be fine. However, I do like to use the target machine (mainly for the initial assembly/c quick test) so that option would be a bonus.

Obviously support for 080 and SAGA is a bonus (even though I dont quite know how much of the SAGA subset the V500 will get!)

Lastly, no Unix/Linux toolchains if possible!

So, ticking all these boxes, what does that leave? :)




Edgar Fink

Posts 47
08 Oct 2020 20:26


The following was mentioned on this forum by Nick Fellows:

EXTERNAL LINK 
Ref thread: EXTERNAL LINK 
I have no experience with the VScode plugin myself, since I only use Linux for development.


Roy Gillotti

Posts 517
08 Oct 2020 20:32


I'm not overly knowledgeable about Assembly, I'm at best a modest user of C and C++, I've used Bebbo's Cross-Compiler setup for compiling projects for Amiga, it's a linux solution, can be usable in Windows in a cygwin like environment.
 
  EXTERNAL LINK


Chris Chris

Posts 25
10 Oct 2020 09:11


Hi,
   
    maybe not directly fitting to vampire directly but here some links:
   
    - From Kai Germany with short explanation on C compiler on Amiga in regrads to retro coding:
   
      EXTERNAL LINK   
 
    - MaxonASM 1.2
   
      https://archive.org/details/Maxon_Assembler_v1.2_1992_MAXON_Computer_DE#loading
   
      Note: In archive.org can be some "golden treasures" someone is looking for thinking its gone due to bad disks. Just try.
   
    And a question to the team. Could there be a own register for C/C++ and ASM as it was idea of Apollo to activate and re-activate"programming ? Then with some fixed topics being aloways on top where to download what and how to get started?
   
  Is there something like this planned at another location? Does a separate team exists working on such a location, web-page, storage (beside Aminet).
   
  Is it planned to put C++ / ASM programming environment directly on Apollo-SD-Card when Vampire Cards being send so that people can start porting software directly with having compilers which are able to use also the new Apollo instructions. As well as RKM's of Amiga, RKM Apollo, C++ books, Assembler book ? Some software examples ?
   
  It is by far easier to start like this as many does not have old machines running anymore from where to port / copy to new Vampire V4. Its also the right impule to let people play again in programming what makes amiga so unique.
 
  In the past it have been the magazines activating people today it can be just put into the package.

Also a just a register in Apollo-Forum as starting point called programming would help in which then is closed explanation with link collection for ASM, C++, Basic, etc. from where people can start.
 
  Would be great to get some feedback about such ideas.


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
10 Oct 2020 09:40


Chris Chris wrote:

Is it planned to put C++ / ASM programming environment directly on Apollo-SD-Card when Vampire Cards being send so that people can start porting software directly with having compilers which are able to use also the new Apollo instructions.

ApollOS comes already installed with Basic, C and ASM development tools.
All is there so that you can start coding immediately.

We are working on creating example codes and want to include them in the future to help people get started.


Chris Chris

Posts 25
10 Oct 2020 09:53


Wow, that sounds really great and will give a push and impulse to those whose fingers will get nervouse seeing these folders on the Vampire SD-Card.
   
A register within Apollo-Forum with a link libary or something like this would also be a good clear direct starting point, making people move, re-activate and give right impulse for easy re-entering into that great stuff. Also informing them that such development kit for C/ASM/Basic are already installed when getting a Vamp.
   
I am thinking to make a short ASM prog for controlling some expansion port pins that those guys who want to build high end amiga tower can control fan, led and so on to tune their machines a bit more.
   
Also an idea is to do those things via Rasp.-Pi incl. temperature and so on and then use the expansion port pins to communicate or much easier just to switch/trigger some of those functions with RaspPi. But this is on long term.
   
First I need some Vamps V4 for porting and saving old projects keeping them alive.
   
It is impressing what has been created over the years !!! WoW !!!
   


Antony Coello

Posts 153
10 Oct 2020 10:43


Gunnar von Boehn wrote:

  ApollOS comes already installed with Basic, C and ASM development tools.
  All is there so that you can start coding immediately.
 
  We are working on creating example codes and want to include them in the future to help people get started.

Thats great Gunnar. I vaguely remember there being a mention of a compiler that does support the 080 instruction set.

Any news on any 'reference' 080/SAGA documentation material yet?



Antony Coello

Posts 153
10 Oct 2020 11:18


@Chris: Thanks for the link. This is useful info whether vampire specific or not.

@Roy & Edgar: Thanks, but this was what I am trying to escape from; too many dependencies or reliance on other code that may change over time.

Its the whole reason that I have decided to port my game/framework to the Vampire from Windows.

i.e. I can actually hit the registers direct, or actually see/read the far 'tighter' library routines doing so, rather than having 'blind faith' on a giant unreadable, abstracted, obfuscated mess that can be politically/financially/competitively changed on a whim and render my hard work obsolete.

Im not even bothered if it hasnt got all the fancy modern features, as long as its straightforward, logical to understand and fully functional. (My code has a built-in debug system that only needs rudimentary printf type of operations to work effectively).



Kamelito Loveless

Posts 259
10 Oct 2020 16:15


AFAIK only Vasm support fully the 080, nor the basic, C partly with Bebbo compiler but I don’t know if it is stable though with higher optimizations settings.
  AsmOne 1.18 was on the right track but stalled.
  What is more lacking is proper documentation, assembler includes for SAGA registers, and the new opcodes docs, plus code examples.


Kenji Irie

Posts 86
11 Oct 2020 10:26


My dev environment for SAGA game development is VBCC which comprises the C compiler and Vasm, in one nicely integrated package. Vasm supports most 68080/AMMX operations.
 
  I write all my C and asm code in Visual Studio on Win 10. A single make file on the PC then compiles to 68080 Amiga executable REALLY fast - about 2 seconds. A samba share to the V4 means the executable copies from the Win 10 PC to the V4 in less than a second, when I can execute it. It works incredibly well. I have not needed to compile any code whatsoever on the V4.
 
  I also have wrapped the graphics/keyboard functions to Win32 as well, so that I debug everything that is non-SAGA specific in a the full Visual Studio debugger running in Native Windows. Once happy, I run the make file and produce the Amiga executable.
 
  For anyone new to asm and SAGA, I highly recommend looking at the DragonCrown assembler source code by Flype. This shows you how to access AMMX functions. AMMX documentation can be found here: CLICK HERE 
  For those that are more C oriented (like me), to use SAGA you simply open a CGFX screen (look at examples from Aminet), set up a buffer in RAM, and poke your buffer address to the SAGA pointer. That's it. I have my AMMX code in assembler functions which are called from the C code.
 
  Happy coding!
 
 
 


Antony Coello

Posts 153
11 Oct 2020 11:02


Kenji Irie wrote:

My dev environment for SAGA game development is VBCC which comprises the C compiler and Vasm, in one nicely integrated package. Vasm supports most 68080/AMMX operations.
 
  I write all my C and asm code in Visual Studio on Win 10. A single make file on the PC then compiles to 68080 Amiga executable REALLY fast - about 2 seconds. A samba share to the V4 means the executable copies from the Win 10 PC to the V4 in less than a second, when I can execute it. It works incredibly well. I have not needed to compile any code whatsoever on the V4.
 
  I also have wrapped the graphics/keyboard functions to Win32 as well, so that I debug everything that is non-SAGA specific in a the full Visual Studio debugger running in Native Windows. Once happy, I run the make file and produce the Amiga executable.
 
  For anyone new to asm and SAGA, I highly recommend looking at the DragonCrown assembler source code by Flype. This shows you how to access AMMX functions. AMMX documentation can be found here: CLICK HERE   
  For those that are more C oriented (like me), to use SAGA you simply open a CGFX screen (look at examples from Aminet), set up a buffer in RAM, and poke your buffer address to the SAGA pointer. That's it. I have my AMMX code in assembler functions which are called from the C code.
 
  Happy coding!
 
 
 

Hey thanks again. Im on the Vampire discord now and will be in touch to pick your brains once the vampire board is up and running (should get it back tomorrow). :)


Antony Coello

Posts 153
21 Oct 2020 13:23


Following on...

Will the team be producing Apollo OS SAGA/080 specific function libraries at some point?


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
21 Oct 2020 13:33


Antony Coello wrote:

Following on...
 
Will the team be producing Apollo OS SAGA/080 specific function libraries at some point?

I think we already did this.
- There are AMMX tuned datatypes.
- There is AMMX tuned Videoplayer.
- You not need an 040 or 060 lib with 080.
- We have written tuned memcopies and tuned IDE routines.
- There is a tuned SDL
- you have tuned SAGA/P96 drivers

What else do you miss?


Kef Emzy

Posts 50
21 Oct 2020 15:38


Gunnar von Boehn wrote:

Antony Coello wrote:

  Following on...
   
  Will the team be producing Apollo OS SAGA/080 specific function libraries at some point?
 

 
  I think we already did this.
  - There are AMMX tuned datatypes.
  - There is AMMX tuned Videoplayer.
  - You not need an 040 or 060 lib with 080.
  - We have written tuned memcopies and tuned IDE routines.
  - There is a tuned SDL
  - you have tuned SAGA/P96 drivers
 
  What else do you miss?

A tuned disk cache? ;)


Antony Coello

Posts 153
21 Oct 2020 17:10


Gunnar von Boehn wrote:

Antony Coello wrote:

  Following on...
   
  Will the team be producing Apollo OS SAGA/080 specific function libraries at some point?
 

 
  I think we already did this.
  - There are AMMX tuned datatypes.
  - There is AMMX tuned Videoplayer.
  - You not need an 040 or 060 lib with 080.
  - We have written tuned memcopies and tuned IDE routines.
  - There is a tuned SDL
  - you have tuned SAGA/P96 drivers
 
  What else do you miss?

To be perfectly honest, I dont know what will be required yet. I just wanted to be fully prepared when I finally get my card running. Im not a native Amiga OS coder, so I still have to learn about the OS calls/libs.

Im armed with the official C= 2nd and 3rd edition HRM, ROM reference: Includes and Autodocs and an early Intuition manual. Im hoping that these, along with studying code from Flypes awesome demos should get me up to speed (although I think the C= ref. manuals will be very dry reading!) :)


Gunnar von Boehn
(Apollo Team Member)
Posts 6197
21 Oct 2020 18:04


Antony Coello wrote:

To be perfectly honest, I dont know what will be required yet. I just wanted to be fully prepared when I finally get my card running. Im not a native Amiga OS coder, so I still have to learn about the OS calls/libs.

 
Yes this makes sense.

I work right now on creating a new demo game.
We will provide this game including sources, gfx files, and audio files
 
The idea is to give people a working example of how to code a small game.
 


Antony Coello

Posts 153
21 Oct 2020 19:14


Thats great. Thanks Gunnar.

Im looking forwards to be able to port something a bit more complex to the Amiga/Vampire without having to both do it in 100% assembly AND compromise the game engine.




DiscreetFX Studios

Posts 140
19 Apr 2021 15:40


Gunnar von Boehn wrote:

 
Antony Coello wrote:

  To be perfectly honest, I dont know what will be required yet. I just wanted to be fully prepared when I finally get my card running. Im not a native Amiga OS coder, so I still have to learn about the OS calls/libs.
 

   
  Yes this makes sense.
 
  I work right now on creating a new demo game.
 
 
  We will provide this game including sources, gfx files, and audio files
   
  The idea is to give people a working example of how to code a small game.
   
 

 
  Gunnar did the example game with source code ever come out or is this still in the works? I would love to see this example too.
 


Antony Coello

Posts 153
19 Apr 2021 20:10


DiscreetFX Studios wrote:

   
    Gunnar did the example game with source code ever come out or is this still in the works? I would love to see this example too.
   
 

 
  Ive actually got a very simple graphics output routine working in assembly. Also, (thanks to Kenji Irie and Flype) Ive also got a C equivalent. I realise, its not quite a full game demo, but its a start. If you want to have a look, let me know.
 
  Discord is your friend here, as many more experienced guys than me can help out.
 
    *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
 
  Following on from the main topic, I have setup CoffinOS with Devpac 3 and am having difficulty in navigating the Amiga OS to get it set up how I want it.
 
  On Devpac Atari, I can boot and have my MonST on the desktop, source files/assembled prg files in a project folder on the desktop ready to edit/run immediately, rather than having to navigate several sub folders in. I can drag an assembled prg over MonST (Atari equivalent of MonAm) and it will load up to debug that program. My [code/assemble/run/CRASH/reset] loop is pretty quick and effective.
 
  So, what I would like to know, (if anyone is using Devpac for Vampire coding?) is:
 
  1. How to put/keep folders/files on the screen even after a reset/cold boot?
 
  2. Is there a simpler drag and drop technique to get program files into MonAm, or do I have to use the shell?
 
 
  Many thanks for any insights. Like I said before, I really dont know the user side Amiga OS much and the limited time I have, I feel would be better spent coding and looking at the Hardware Reference Manuals!
 
 


Kamelito Loveless

Posts 259
19 Apr 2021 21:08


1- select the files/folder right mouse button on the menu Icons select Leave out. If you wanna put it back select and Icons menu Put Away.
2- No way to launch Monam with exe to debug AFAIK, a script could do the job I usually just debug by loading the exe by launching Monam first.


posts 22page  1 2