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
Running Games and Apps.

Quake ;)page  1 2 3 4 5 6 7 8 9 

Samuel Devulder

Posts 248
10 Nov 2017 12:59


Here are new versions compiled with 4 different compilers for 3 different CPUs. This makes 12 different EXEs: EXTERNAL LINK     
 
Notice that:
      1) the gcc3 version has black textures in the scene when shooting. I don't know why. It is hard to locate. Gcc2 versions doesn't have this issue.
 
      2) Gcc2/3 versions might work on the vampire since I've changed the floor()/ceil() implementations. I need some feedback about this.
 
      3) I've made few 080 optimizations in ASM just to check if it has noticeable impacts on speed. Please tell me.
     


Simo Koivukoski
(Apollo Team Member)
Posts 601
10 Nov 2017 14:31


All worked on WinUAE. These are which worked with femu-wip:
18.0 fps quake.vbcc.060.881
17.1 fps quake.vbcc.030.881
16.9 fps quake.sasc.060.882
18.1 fps quake.sasc.040.882
17.1 fps quake.sasc.030.882



Claudio Guglielmotti
(Apollo Team Member)
Posts 185
10 Nov 2017 15:10


seems that SamQuake GCC requires a very big stack !!

with stack 600.000, samquake.gcc.295 worked !!


Claudio Guglielmotti
(Apollo Team Member)
Posts 185
10 Nov 2017 15:21


Aargh !!
they works all with stack 1.000.000
No more bad surfaces error !!




Niclas A
(Apollo Team Member)
Posts 219
10 Nov 2017 17:10


Good find Claudio


Samuel Devulder

Posts 248
10 Nov 2017 18:36


I'm a bit surprised by the stack the GCC version requires. I can run them with the default stack[*] without issues on UAE, and other sreported it worked fine on 68060 without changing the stack. There must be something going on under this. What happens if the stack is too short? Crash or a better controlled exit, or just simply texture errors ? Can you tell me more about what's happening when the stack is too small?
____
[*] the exe sets the stack to 512kb if the current one isn't big enough
     
However I'm glad there isn't any texture errors anymore. This might be related to the new core released by Gunnar or by my hack to make floor()/ceil() don't mess with rounding-modes.
     
As for the speed, Simo reported 21.5 fps with quake.sasc.040.882, and now it's only 18.1fps. There seem to be a regression :(, or the previous score was caused by the bad texture. However, this isn't a big deal since there is now room to work with apollo-specific asm. BTW, is the GCC version the fastest on your machine Claudio ? (on UAE gcc is 25% faster than vbcc or sas/c)


Mr Niding

Posts 459
12 Nov 2017 13:17


Not sure which version of Quake Manuel Jesus is running;

Amiga 600 Vampire 2 X11 core Gold 2.7 Hires Quake 640X400

EXTERNAL LINK


Gregthe Canuck

Posts 274
12 Nov 2017 16:24



It is the Clickboom/PXL computers version. Shows on credits at very end.


Saladriel Amrael

Posts 166
12 Nov 2017 19:29


Well, that's a nice framerate! Honestly I expected it to be worse at that resolution.


Mr Niding

Posts 459
12 Nov 2017 20:53


X12 core

EXTERNAL LINK


Samuel Devulder

Posts 248
25 Nov 2017 23:37


gregthe canuck wrote:

  Samuel -
   
    Are you aware of the GCC 6.2 by bebbo?
   
    EXTERNAL LINK 

I decided to give it a try. It isn't easy:
 
1) Quake-source are not directly cross-compilable. There are generated files that depend on the host architecture. In my case compiling under a 64bit machine results in pointer being twice as big as on the amiga. The data mapping was completely screwed. Anyway, I succeeded in working around this using a 32bit version of cygwin not interfering with my 64bit setup and compile gcc6 in there. Damn this is slow. I spent more than 12 hours compiling the compiler. It is much slower than compiling for 64bits (1 hour). (It is possibly a cygwin32-portable issue.)
 
2) Gcc6 is really really bugged. Sometimes it is the compiler that crashes, and some other time it is the resulting amiga-executable that works badly. As a matter of fact, I've encountered 3 of the 6 issues described there: EXTERNAL LINK :( I hope the author, Bebbo, reads the issue page on github and will be able to fix all of them. Gcc6 seem to be used by some Vampire-friendly people (e.g. Marlon from MilkyTracker) and deserve to be debugged.
 
  Well, now I'm trying to work around GCC6 limitations to have a working version of quake compiled with it. It is said that GCC6 is 10 to 20% faster than gcc2.95.3. This might have a nice impact on running quake ion the vampire (not accounting yet for some magical 080-tricks from Gunnar :) ).


Gregthe Canuck

Posts 274
26 Nov 2017 00:47


Ouch - definitely some pain involved there.

Your work with gcc6 and identifying issues with the code generated will help everyone. A decent gcc base is so very important.

Looking forward to your next progress update. :)

Cheers!



Mallagan Bellator

Posts 393
26 Nov 2017 01:25


Did anyone try Quake on a V4 dev board with full hard fpu? If so, fps?


Mallagan Bellator

Posts 393
06 Dec 2017 01:13


Any updates on Quake?


Samuel Devulder

Posts 248
06 Dec 2017 06:30


Right now, quake helps testing/debugging the fpu. No fancy FPS on my side.


Samuel Devulder

Posts 248
02 Feb 2018 20:52


Longer reply of this message from this ( CLICK HERE ) thread:
Mallagan Bellator wrote:

It would be totally sweet if someone optimized Quake to utilize this!

I do! By the beginning of the year my version was on par with clickboom's speed on the vampire. Since then, I rewrote some asm code to use the FPU pipeline much better and avoid the missing instructions that require SW emulation. I also replaced some math functions with less precise but much faster ones, etc. Notice that these optimizations doesn't prevent the exe from running on non-68080 amigas.
 
If you want to give it a try, you can download my latest binaries on: EXTERNAL LINK . It contains 18 variations of compilers/cpus, but typically the gcc2.95.3-040 is the fastest one (your mileage may vary).
 
It contains the "calibrate" command to test various rendering methods and keep the fastest one.
 
I recently added another command: "scanlines n" which gives a 25%-30% boost with an easy trick (n can range from 0 to 4. Each giving a different visual result. 0 is the default mode and doesn't provide boost).


Niclas A
(Apollo Team Member)
Posts 219
02 Feb 2018 22:33


Excellent! Any chance of Bilinear filtering in the future?
Will test your version when 2.7 drops.


Samuel Devulder

Posts 248
02 Feb 2018 23:25


That version of the quake engine doesn't do bilinear. Better use a higher screen resolution :)

By the time 2.7 gold come out, I'll have even more improvements (hopefully). But in the meantime, the binaries work on any amiga, not only vampirized ones, so you can already test :D


Gregthe Canuck

Posts 274
03 Feb 2018 00:40


Hi Samuel -

Have you had a chance to try out bebbo's latest gcc? Just in the last day or two he has managed to close all outstanding issues with his optimization code.

Would be interesting to see how the 6.4 release compares to the old 2.95 series.

Also this would make a good test for his new gcc.  :)




Samuel Devulder

Posts 248
03 Feb 2018 11:56


Normally there should be a exe with gcc6.3 from bebbo in the archive (but it isn't gcc6.4 yet.. I need to build it first.)

posts 170page  1 2 3 4 5 6 7 8 9