English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 13 August 2015, 22:04   #1
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,337
Quake 2 on a 'stock' Atari Falcon

I bet this is old news and has been covered on here before, but how the hell is this possible?

http://www.atari-forum.com/viewtopic.php?t=26775

10fps-ish on a stock 14mhz 030. Ok, the falcon has a smart DSP and a chunky mode, but that demo puts the fps I get from my 80mhz 060 somewhat in the shade.

Just amazing programming?
trixster is offline  
Old 13 August 2015, 22:10   #2
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Sick

Play list of sick videos: [ Show youtube player ]
Thorham is offline  
Old 13 August 2015, 22:43   #3
Mrs Beanbag
Glastonbridge Software
 
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
nice, so they started converting it from floating point to integer, i don't know why it was ever in floating point to begin with to be honest.

floating point is overrated imho.
Mrs Beanbag is offline  
Old 14 August 2015, 00:09   #4
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
Quote:
Originally Posted by trixster View Post
I bet this is old news and has been covered on here before, but how the hell is this possible?

http://www.atari-forum.com/viewtopic.php?t=26775

10fps-ish on a stock 14mhz 030. Ok, the falcon has a smart DSP and a chunky mode, but that demo puts the fps I get from my 80mhz 060 somewhat in the shade.

Just amazing programming?
Ye, seems they are making the most out of the DSP to do 3d calcs.
Reminds me of a Dave Hanyie speech a while ago. As most of us already know, he wanted to put a DSP (Motorola 56001) into the A3000+ primarily for sound, but if I recall correctly he suggested that it was integrated in such a way that it could have been used to do 3D calculations.
So, it seems this theory was proven right, eventually...
eXeler0 is offline  
Old 14 August 2015, 05:02   #5
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
Quote:
Originally Posted by trixster View Post
I bet this is old news and has been covered on here before, but how the hell is this possible?

http://www.atari-forum.com/viewtopic.php?t=26775

10fps-ish on a stock 14mhz 030. Ok, the falcon has a smart DSP and a chunky mode, but that demo puts the fps I get from my 80mhz 060 somewhat in the shade.

Just amazing programming?
I didn't see any proof that quake 2 could run at 10 fps in a 030, in fact that's impossible, quake uses fpu and is very intensive and I don't think the DSP or the fpu 68882 which is very slow can do those math calculations in a fast way
maybe they are running the game on 2x1 graphics or 2x2
Sandro is offline  
Old 14 August 2015, 05:10   #6
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,337
It's not a Quake2 source port, it is Doug's own engine which can run Q2 maps, textures etc.

Try the last alpha on Your stock falcon 030@16MHz 14mb

https://dl.dropboxusercontent.com/u/...estpublic2.zip

Or the Hatari emulator (mercurial build)

Last edited by alexh; 14 August 2015 at 05:15.
alexh is online now  
Old 14 August 2015, 07:18   #7
kovacm
Banned
 
Join Date: Jan 2012
Location: Serbia
Posts: 275
Quote:
Originally Posted by Mrs Beanbag View Post
nice, so they started converting it from floating point to integer, i don't know why it was ever in floating point to begin with to be honest.

floating point is overrated imho.
maybe because Intel Pentium can execute FP and integer instructions in parallel?
Similar, Doug engine use parallel processing of 68030 and DSP in Falcon.
kovacm is offline  
Old 14 August 2015, 08:24   #8
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,176
Doug's stuff on Atari is amazing, check out his Doom 'port' Badmood, which is more a custom engine that can run Doom .WAD's.

These aint your typical amiga ports :-)
Locutus is offline  
Old 14 August 2015, 12:55   #9
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
Quote:
Originally Posted by Thorham View Post
Sick

Play list of sick videos: [ Show youtube player ]
I am inclined to call this guy a programming Einstein. Sheesh!


Quote:
Originally Posted by Locutus View Post
Doug's stuff on Atari is amazing, check out his Doom 'port' Badmood, which is more a custom engine that can run Doom .WAD's.

These aint your typical amiga ports :-)
Playlist!

[ Show youtube player ]

Last edited by gimbal; 14 August 2015 at 16:10. Reason: added badmood playlist
gimbal is offline  
Old 14 August 2015, 14:14   #10
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
I think we should donate an A1200 to this guy ;-)
eXeler0 is offline  
Old 14 August 2015, 14:57   #11
Amiga1992
Registered User
 
Join Date: May 2001
Location: ?
Posts: 19,645
Quote:
Originally Posted by Sandro View Post
quake uses fpu and is very intensive and I don't think the DSP or the fpu 68882 which is very slow can do those math calculations in a fast way
You didn't read it seems. They are converting the floating point math to integer.
Amiga1992 is offline  
Old 14 August 2015, 19:06   #12
matthey
Banned
 
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
Quote:
Originally Posted by Akira View Post
You didn't read it seems. They are converting the floating point math to integer.
The response of kovacm to Mrs Beanbag's quandary (not phrased as a question) makes sense to me. Understanding would be better if the EAB forum did not discard the previous quote.

Quote:
Originally Posted by Mrs Beanbag View Post
nice, so they started converting it from floating point to integer, i don't know why it was ever in floating point to begin with to be honest.
Quote:
Originally Posted by kovacm View Post
maybe because Intel Pentium can execute FP and integer instructions in parallel?
Similar, Doug engine use parallel processing of 68030 and DSP in Falcon.
Q2 was written for processors like the Pentium which have a fast FPU which can operate in parallel. FP is also easier to use than fixed point integers. These are big reasons why FP was used for Q2.

Even the early 6888x does a lot of FP processing in parallel to the CPU (integer unit) but the interface, instruction pipelining and caching are not efficient with an external FPU. Most early DSPs did not support FP but were good at fixed point integer math (often better than the CPU integer unit). DSPs are notoriously difficult to program efficiently though. Had the Amiga or Atari with DSP beat the PC, I expect a fast FPU and later SIMD (also not easy to program) would have replaced most DSP processing.
matthey is offline  
Old 16 August 2015, 23:51   #13
kovacm
Banned
 
Join Date: Jan 2012
Location: Serbia
Posts: 275
Quote:
Originally Posted by matthey View Post
Most early DSPs did not support FP but were good at fixed point integer math (often better than the CPU integer unit). DSPs are notoriously difficult to program efficiently though. Had the Amiga or Atari with DSP beat the PC, I expect a fast FPU and later SIMD (also not easy to program) would have replaced most DSP processing.
yes, Motorola 56001 in Falcon (at 32MHz) is declared as 16 MIPS.
Beside that MC DSP has SIMD characteristics and they are self sufficient (btw today many Falcon coders works in game industry as optimisation specialist for PlayStation, Xbox...) Falcon implementation of MC DSP allow only ~800KB/s data transfer "to" and "from" DSP (or up to 3MB/s if you skip confirmations...).
kovacm is offline  
Old 17 August 2015, 00:57   #14
SKOLMAN_MWS
Registered User
 
Join Date: Jan 2014
Location: Poland
Posts: 168
Quote:
Originally Posted by kovacm View Post
yes, Motorola 56001 in Falcon (at 32MHz) is declared as 16 MIPS.
68040 30MHz 21,68 MIPS 7,23 MFLOPS link

DSP in Falcon in reality faster than 68040.

Last edited by SKOLMAN_MWS; 17 August 2015 at 01:50.
SKOLMAN_MWS is offline  
Old 17 August 2015, 01:20   #15
beezle
Banned
 
Join Date: May 2015
Location: Australia
Posts: 67
Floating point is also a lot more precise than interger, something that at times is important, especially when it comes to 3d.
beezle is offline  
Old 17 August 2015, 10:06   #16
kovacm
Banned
 
Join Date: Jan 2012
Location: Serbia
Posts: 275
Quote:
Originally Posted by SKOLMAN_MWS View Post
68040 30MHz 21,68 MIPS 7,23 MFLOPS link

DSP in Falcon in reality faster than 68040.
It is really complicated; I am not sure what instructions Motorola take into account when declare DSP as 16MIPS (e.g. multiplication are really fast but bit-wise operation are really slow on DSP). You also need to remember that DSP has only 96KB of memory (!) and access to main memory is only 8bit wide so you need very carefully how to "craft" 3D engine!

There are really lot of details at atari-forum; there are diagrams with chunk of codes and how they are managed between CPU and DSP...

MC 68040 (and espec. 060) are quite different than 68030 founded in Falcon. In many cases, using solo 040 would perform faster than 030+DSP. This engine is specially crafted for stock Falcon (beside DSP, using MC68030 256bytes cache, MMU...) and would not benefit from e.g. 040 or 060 CPU as it could.

Quote:
Originally Posted by beezle View Post
Floating point is also a lot more precise than interger, something that at times is important, especially when it comes to 3d.
Ofcourse. DSP in Falcon have 24bit words and as you saw, Doug manage to implement 3D engine that will work well with given precision.

Last edited by kovacm; 17 August 2015 at 10:12.
kovacm is offline  
Old 17 August 2015, 11:39   #17
beezle
Banned
 
Join Date: May 2015
Location: Australia
Posts: 67
Sure, it's very cool stuff regardless of it only using intergers.

My comment was more a follow up to some people responding to Mrs. Beanbags suggestion that fp can be overrated.

Last edited by beezle; 17 August 2015 at 12:09.
beezle is offline  
Old 17 August 2015, 12:05   #18
AnimaInCorpore
Registered User
 
Join Date: Nov 2012
Location: Willich/Germany
Posts: 232
Quote:
Originally Posted by kovacm View Post
(e.g. multiplication are really fast but bit-wise operation are really slow on DSP).
I guess you're referring mainly to shifting instructions. Shifting can be done by multiplying with constant values so it isn't not really slow. However, these parts don't look quite elegant within the sources.
AnimaInCorpore is offline  
Old 17 August 2015, 13:02   #19
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
Quote:
Originally Posted by beezle View Post
Floating point is also a lot more precise than interger, something that at times is important, especially when it comes to 3d.
True enough, that makes it all the more impressive that the graphics of this effort are so stable if you look past the expected low resolution scale blurring.
gimbal is offline  
Old 17 August 2015, 13:22   #20
kovacm
Banned
 
Join Date: Jan 2012
Location: Serbia
Posts: 275
^

I remember when I first time saw work-in-progress with flat shaded polygons:

[ Show youtube player ]

it was fastest flat polygons engine on Atari so far and I wonder (I believe as many) if it would be sensible to add any kind of textures on it preserving reasonable frame rate?

eventually Doug implement more than just textures; there are lightmaps, transparency... pure joy
kovacm is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
atari falcon DSP programmer help? starlord Retrogaming General Discussion 16 29 October 2012 15:00
Atari C-lab Falcon For Sale!! SPARKYPETE MarketPlace 22 11 September 2008 01:49
Quake, Quake 2 and Heretic 2 don't run after update to Mediator TX Turrican(AEB) support.Games 14 25 August 2008 21:11
Replacement floppy for Atari Falcon 030 keropi Retrogaming General Discussion 18 07 March 2008 12:18
Pinball Dreams for Atari Falcon 030 MethodGit Retrogaming General Discussion 29 07 February 2005 21:05

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 11:04.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.16958 seconds with 15 queries