Overview Features Coding Performance Forum Downloads Products OrderV4 Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Writing 3D Engine for 68080 In ASMpage  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 

Vladimir Repcak

Posts 359
25 Dec 2019 09:22


Gunnar von Boehn wrote:

Yes lets look at the differences and the option.
 
  Vampire V2
  - 128 MB RAM
 
  Vampire V4
  - 512 MB RAM
 
 
  Using S3-Texture compression, 128 MB can hold a lot of high quality textures.
  For comparison: Playstation-2 has 32MB and the games look on PS2 pretty good IMHO.
 
 
  MOD player for AMIGA.
  Free MOD players for AMIGA are available.
  Another option is to have an ADPCM compressed music file and decompress and play it in real time. The quality of this is very good, and storage space it much less than PCM and the decompression
  takes only a few % of CPU time.
 
 

So, S3TC is already in V2 ? I thought that's a part of the 3D core (which is still in progress) ?
That would also imply that V2 can do texel look-up via the special instruction ? Thus I wouldn't even need a SW-rasterizer doing the texturing ?

Regarding Audio - I made a huge mistake on Jaguar, where I went with the Atari's developer Audio library, burnt a full month on figuring out how to use it (running 25-yrs old DOS executable is fun these days as you need three different versions of DosBox, vDos, etc.).

Only to find out it's not stable and occasionally hangs. Awesome. Very expensive experiment on trying other people's code...

I could have, literally, written a 4-channel MIDI player by myself in the same time.

I just realized, given 128 MB (not just 2 MB like on Jaguar), there's also an option of decompressing music upon loading the level, thus only single track is uncompressed at any time and I don't even have to write a multi-channel player.

I just looked up my DSP code and notes and at 8,000 Hz one second of *.AIFF file takes 15 KB, 1 minute takes 900 KB and one hour 53 MB. That's uncompressed.

One track is about 5 minutes, that's ~4.5 MB.
Writing a code that interpolates 8 kHz into 16 kHz would take less than hour, and it would still take just 9 MB per track.

So, even 128 MB version would fit fine.
Using Shrinkler takes off additional 20% of the *.AIFF file, but probably that's not worth it.




Stefano Briccolani

Posts 586
25 Dec 2019 09:40


@VladR: I'm sure Master Gunnar will help you find the best way to achieve maximum performance and broader compatibility with all vampire user-base.
With v4 you'll have all you need to develop in v2 compatible way without having to deal with old-used and expensive Amiga hardware.


Vladimir Repcak

Posts 359
25 Dec 2019 12:16


Stefano Briccolani wrote:

@VladR: I'm sure Master Gunnar will help you find the best way to achieve maximum performance and broader compatibility with all vampire user-base.
  With v4 you'll have all you need to develop in v2 compatible way without having to deal with old-used and expensive Amiga hardware.

What's the process V4->V2 like ? I'm sure my term "flashing" is incorrect - what's it actually called ?
Do I need USB Blaster ?
How long does it take ? Can I accidentally "brick" it if my power goes off (highly likely in my area)?
Is V2 on the same FPGA board as V4 ? Can V2 users simply "reflash" the board into V4 or not ?


Vladimir Repcak

Posts 359
25 Dec 2019 12:42


I just realized - this is not Jaguar where I'm limited to 2-4 MB flash image.

On Amiga, I have an access to full filesystem.

I can totally have Audio tracks at full 44.1 kHz, stereo, 16-bit PCM (AIFF) and just load them to RAM at level-loading time.

1 second thus takes: 172.26 KB
1 minute: 10.1 MB
5 minute track: 50 MB

I'll simply load the 50 MB music track at loading time.

This way, during creation of music, I'm not limited to just few channels and effects that the synth code can handle.

Literally, hundreds of special audio effects, transitions and waveform modulations can happen, as in the end, only the final wave data matters.

Now, benchmarks have to be made as to the performance impact of interrupt processing at 44.1 kHz. Then again, unlike 4-channel synthesis, such code would just load the value to play and only the mixer with sound fx would have to compute something - but that mixing has to happen regardless - or is there perhaps a separate audio module (even if it's Vampire-only) that could handle the mixing in Amiga?



Gunnar von Boehn
(Apollo Team Member)
Posts 5763
25 Dec 2019 13:04


There are currently 4 different boards on the market.
Click on "PRODUCTS" Tap to see them.

3 of them are accelerators for existing Amiga models.
1 is a new complete stand alone system.

Usually we release update cores as EXE Files
in a fashion of 3 month or if the product is very polished and there is really nothing to fix, less frequently.

You can update the core using the EXE file.
This update takes like a minute.

The Blaster is needed as support tool to reflash/recover a system which got powerturned off in the middle of an update.
Which is rare case - of if you want to try out our Beta-cores
which we usually only provide as JIC-Blaster-Files.




Gunnar von Boehn
(Apollo Team Member)
Posts 5763
25 Dec 2019 13:05


Vladimir Repcak wrote:

  I can totally have Audio tracks at full 44.1 kHz, stereo, 16-bit PCM (AIFF) and just load them to RAM at level-loading time.

 
Yes, But I would recommend ADPCM.
This is compressed 16bit audio which sounds equally well, and saves 75% space. APOLLO 68080 can this decompress on the fly for minimal CPU  time. This works great
 

 


Vladimir Repcak

Posts 359
25 Dec 2019 16:02


Gunnar von Boehn wrote:

 
Vladimir Repcak wrote:

    I can totally have Audio tracks at full 44.1 kHz, stereo, 16-bit PCM (AIFF) and just load them to RAM at level-loading time.
 

   
  Yes, But I would recommend ADPCM.
  This is compressed 16bit audio which sounds equally well, and saves 75% space. APOLLO 68080 can this decompress on the fly for minimal CPU  time. This works great
   

   
  I guess that with a simple 4-channel track, ADPCM quality can be tolerable.
 
  I still need to compare how it sounds if your track has many layers with lots of LFOs and other modifiers. I don't think the 4-bit delta precision of ADPCM is going to do great on effects that take less than half second - those will just going to be lost or averaged out.
 
  Now, if we only had the 128 MB (kinda like a cartridge), then yeah - it's totally worth it.
 
  But does it really matter whether the game takes couple hundred MB more on harddrive these days ? V4 has CF/SD card, right ? Even if the game took 1 GB (which I doubt), it's still nothing.
 
  And we get 100% source audio quality without any compression artifacts. That is awesome.


Gunnar von Boehn
(Apollo Team Member)
Posts 5763
25 Dec 2019 16:06


Vladimir Repcak wrote:

I guess that with a simple 4-channel track, ADPCM quality can be tolerable.

You got me wrong.
I speak about ADPCM as alternative an MP3 playback song.
It sounds very good like MP3 - and takes nearly not CPU time to depack.

You can play a "normal" high end Musik song this way.


Michael Borrmann

Posts 140
25 Dec 2019 16:57


@Vladimir: PT Player by phx is a very easy to implement mod player. Most games that I know of use it, also the one I am coding right at the moment..




Vojin Vidanovic
(Needs Verification)
Posts 1896/ 1
25 Dec 2019 17:07


Vladimir Repcak wrote:

        What's the process V4->V2 like ? I'm sure my term "flashing" is incorrect - what's it actually called ?
        Do I need USB Blaster ?
        How long does it take ? Can I accidentally "brick" it if my power goes off (highly likely in my area)?
        Is V2 on the same FPGA board as V4 ? Can V2 users simply "reflash" the board into V4 or not ?
     

     
      Read  https://wiki.apollo-accelerators.com/doku.php/system_tools:installing_cores_flashrom
     
      My try to answer would be:
     
        What's the process V4->V2 like ? I'm sure my term "flashing" is incorrect - what's it actually called ?
     
      Its easy with EXE, boot AmigaOS or AROS, run exe, wait till its executed. Turn off Amiga. Turn on Amiga!
     
      It is FPGA core "reflash"
     
     
        Do I need USB Blaster ?
     
      Just for nasty beta or overcloked JIC cores ... and emergency crisis
     
     
        How long does it take ?
     
      Once you start right, few minutes. Up to half of hour to prepare well. Be fed, sleep well.
     
      Can I accidentally "brick" it if my power goes off (highly likely in my area)?
     
      Yes if you really loose power during process. But then you redo with blaster and pray.
     
     
      Is V2 on the same FPGA board as V4 ? Can V2 users simply "reflash" the board into V4 or not ?
     
      No v2 has smaller Cyclone 3, V1200 and V4 should have fat Cyclone 5 with more space left. V2 is near of full FPGA with 2.12 core and struggling to have GOLD3 core while V4s have all GOLD2, GOLD3 feats, more caches, higher clock, full FPU ... and space for 3D and more.
     
      V2 core to v4 flash or v4 core to v2 vamp flash IS FASTEST WAY TO BRICK THE VAMP.
     
      Exactly that is why Wiki sections now have seprate download area for models!
   
    and ... to best of my understanding ... we now dont have hardware T&C except MAYBE, MAYBE NOT :) with the V4 JIC Gunnar has :)
 
  But I believe it could be done by CPU-FPU-AMMX-RTG grunt with ease and save RAM and speed up, doing it ASM wise, similar as it used to do once in hardware, and I hope will with V4s+.
 
  Gunnar once mentioned other 3Dfx like features, but never in details. He secretly mumbbled goal is to surpas Voodo 3 PCI abilities and speeds and feature list.
CLICK HERE 

Mystic Voodo 6 (Voodo 5 6000)? EXTERNAL LINK


Vladimir Repcak

Posts 359
25 Dec 2019 21:56


Gunnar von Boehn wrote:

Vladimir Repcak wrote:

  I guess that with a simple 4-channel track, ADPCM quality can be tolerable.
 

  You got me wrong.
  I speak about ADPCM as alternative an MP3 playback song.
  It sounds very good like MP3 - and takes nearly not CPU time to depack.
 
  You can play a "normal" high end Musik song this way.

Oh, compared to MP3 it's definitely preferable. Especially in terms of CPU resources.


Vojin Vidanovic
(Needs Verification)
Posts 1896/ 1
25 Dec 2019 22:01


Vladimir Repcak wrote:

  Oh, compared to MP3 it's definitely preferable. Especially in terms of CPU resources.
 

 
  Its advanced but abeit 70-100Mhz CPU. With FPU and custom chips, but yet. Saving scraps here and there can leave much of CPU for "all things 3D" in your case.
 
  CPU should have few tricks up the sleeve, to replace JAG "64-bit addon tricks" that could add a bit of performance finetune in very end, and its all you can do here. Until v6 or ASIC, where you will have more Mhz, 3D and ... about the same, just bigger for Amigas to love :)
 
  Fully Pipelined
  Superscalar
  Executes up to 4 instructions per clock cycle
  Two address calculation engines
  Two integer execution engines
  Market leading code density
  Optimal cache utilization
  Separate data and instruction caches, supporting concurrent fetch/read/write per clock cycle
  Automatic memory prefetching
  Memory stream detection
  Store buffer
  Branch prediction
  Fully pipelined, double/extended FPU (*fully V4 only)
 


Vladimir Repcak

Posts 359
25 Dec 2019 22:05


Michael Borrmann wrote:

@Vladimir: PT Player by phx is a very easy to implement mod player. Most games that I know of use it, also the one I am coding right at the moment..
Thanks. That's going to be a plan B.

I honestly  want to try to make more of a multi-layered soundscape.

I have literally just now bought an upgrade to WaveForm 10 and will spend next few weeks learning the new plug-ins, oscillators and waveform modifiers.
A 5-minute track can easily have 500 modifiers applied each at different times, intensity and length. I wanna see a MOD player that can do that. Especially, how would one encode it.

If it doesn't work out, I can always hire a musician...



Vladimir Repcak

Posts 359
25 Dec 2019 22:17


Vojin Vidanovic wrote:

Vladimir Repcak wrote:

    Oh, compared to MP3 it's definitely preferable. Especially in terms of CPU resources.
 

 
  Its advanced but abeit 70-100Mhz CPU. With FPU and custom chips, but yet. Saving scraps here and there can leave much of CPU for "all things 3D" in your case.
 
  CPU should have few tricks up the sleeve, to replace JAG "64-bit addon tricks" that could add a bit of performance finetune in very end, and its all you can do here. Until v6 or ASIC, where you will have more Mhz, 3D and ... about the same, just bigger for Amigas to love :)
MP3 would be awesome on Jag, especially on a small cart (2-6 MB). But on a Vampire ? With a filesystem ? No point wasting CPU resources on MP3 player to save couple hundred MBs. Though, highly likely, the costs of MOD player would hardly cross 5% on Vampire...

We don't really need v6 with more 3D or MHz. We merely need to start using the power we already have.

I was always surprised that Jaguar didn't get many games - that its library was barren. Well, Vampire's library is virtually nonexistent. You can pick any genre and spend next decade creating gradually better games and will never reach full potential of Vampire.

I don't know how many gates they still got left for 3D, but even if all that fits there is texel lookup and bilinear filtering, that's all you need anyway.



Samuel Devulder

Posts 248
25 Dec 2019 22:52


Gunnar von Boehn wrote:

   
Vladimir Repcak wrote:

    What's the current best-looking or most complex 3d game that is Vampire-only?
   

    There is none yet
   

Right! This is because amiga market is too small to make a vampire-only version. Typically programmers tend to write 68k programs which run everywhere, but which contains Apollo-specific code that is used when running on a Vamp. Therefore they are not vampire-specific, strictly speaking.
 
This is how SDL works for instance, how Diablo works, and how my quake-version works. It runs ok 68k, and super-extra fast on the vamp. For instance, last benchmark I did gave these figures (running "timedemo demo1" in 320x200x8 rtg screen):

  quake.gcc-6.4.1b.060 1.01.build#5032 (11/24/2019)
  969 frames 32.11 seconds 30.18 fps
       
  quake.gcc-2.95.3.040 1.01.build#5041 (11/25/2019)
  969 frames 32.06 seconds 30.23 fps
       
  quake.gcc-6.5.0b.060 1.01.build#5003 (11/24/2019)
  969 frames 32.00 seconds 30.28 fps
       
  quake.gcc-6.4.1b.030 1.01.build#5028 (11/24/2019)
  969 frames 31.90 seconds 30.38 fps
       
  quake.vbcc.060 1.01.build#5006 (11/24/2019)
  969 frames 31.85 seconds 30.42 fps
       
  quake.gcc-6.5.0b.080 1.01.build#4997 (11/24/2019)
  969 frames 31.77 seconds 30.50 fps
       
  quake.gcc-2.95.3.030 1.01.build#5040 (11/25/2019)
  969 frames 31.77 seconds 30.50 fps
       
  quake.vbcc.040 1.01.build#5005 (11/24/2019)
  969 frames 31.67 seconds 30.60 fps
       
  quake.gcc-6.5.0b.030 1.01.build#4999 (11/24/2019)
  969 frames 31.65 seconds 30.61 fps
       
  quake.vbcc.030 1.01.build#5004 (11/24/2019)
  969 frames 31.62 seconds 30.64 fps
       
  quake.gcc-3.2.2.040 1.01.build#5014 (11/24/2019)
  969 frames 31.48 seconds 30.78 fps
       
  quake.gcc-2.95.3.060 1.01.build#5042 (11/25/2019)
  969 frames 31.46 seconds 30.80 fps
       
  quake.gcc-3.2.2.030 1.01.build#5043 (11/24/2019)
  969 frames 31.39 seconds 30.87 fps
       
  quake.gcc-3.2.2.060 1.01.build#5015 (11/24/2019)
  969 frames 31.34 seconds 30.92 fps



Vladimir Repcak

Posts 359
25 Dec 2019 23:28


Samuel Devulder wrote:

  Right! This is because amiga market is too small to make a vampire-only version. Typically programmers tend to write 68k programs which run everywhere, but which contains Apollo-specific code that is used when running on a Vamp.
 
I don't know. You have 4,000 people who have already forked out couple hundred bucks for Vampire. That's far from too small.
 
  Now, I don't know if Amiga users are willing to spend money on games, but I'd reckon that most of them are in the 40-50 age bracket so surely they're in position to spend, say, $40 on an original game that does something with their HW.
 
  I'd hazard a guess that 10% of users would buy such game, but we can merely speculate now...

Or am I being too optimistic here about ~10% of users willing to spend money on a Vampire-exclusive game ?
 


Mr Niding

Posts 459
26 Dec 2019 00:52


I would say yes.

The lack of development is due most Vampire users being like me; non-computer based work/not developers by trade, but with disposable income.

I do enjoy FPS's, altho I mostly use computers for office work these days.

But I will play the Vampire version of Diablo, as would I support/buy Vampire spesific developments, be it games or productivity.


Vojin Vidanovic
(Needs Verification)
Posts 1896/ 1
26 Dec 2019 01:35


Mr Niding wrote:

  But I will play the Vampire version of Diablo, as would I support/buy Vampire spesific developments, be it games or productivity.

Diablo + Hellfire or at best Diablo II: Lord of Destruction would be 40$ titles in Amiga world. Even I do enjoy Grim Dawn these days, a spin of Titans Quest, my all time fav hack n slash.

Some beat em up.

Some Civ 3 - Civ 4 style strategy (remade Colonization in Civ4 engine?), Pirates! style game?

Adventure?



Vladimir Repcak

Posts 359
26 Dec 2019 02:30


Would be interesting to know just how many ASM coders are there out of those 4000...

Technical question - since Vampire is basically computer, what's the highest refresh frequency one can get on monitor ?

Reason I ask is that while Jag could internally run some very simple 3D scenes at 90+ Hz, Vampire could push such scene complexity much further.

One of the common frequencies on CRT monitors used to be 75 Hz. Not sure now if there was something between 75 and 100. Can Vampire do 75 or 100 Hz ?

Especially for racing games, if it was a separate gfx option (say, at start-up), it could be quite a unique experience, driving at 75 or 100 fps (at the lowest detail, of course)...


Gunnar von Boehn
(Apollo Team Member)
Posts 5763
26 Dec 2019 04:26


Vladimir Repcak wrote:

  Would be interesting to know just how many ASM coders are there out of those 4000...
 
  Technical question - since Vampire is basically computer, what's the highest refresh frequency one can get on monitor ?

Refresh rate is freely programmable.
Maximum just depends on the resolution.
I've displayed VGA @ 200 Hz
 

posts 429page  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22