English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 14 April 2014, 16:32   #1
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Demo Coder Challenge - Vampire Beta Project !

Hi,

We prepare a new CPU load for the Vampire.
This CPU load is relative fast.

In addition to this, the CPU has some unique features.
If clever used you can get __really__ good performance with them.
As with every CPU to use to to the maximum a skillfull code is needed. :-D

I'm looking for some interested ASM coders which like to beta-test
the core and which like to create some demos for it - which really push it to the limit.

In theory a demo could of course also be coded without having access to a Vampire yourself.
But to be able to later beta-test the core a Vampire card would be usefull.


Please ping me if you are interested.
Gunnar is offline  
Old 14 April 2014, 20:15   #2
cgugl
Registered User
 
Join Date: Dec 2013
Location: italy
Posts: 51
So the phoenix core for the vampire 600 is ready and functional?

I offer myself to try on my amiga !
cgugl is offline  
Old 14 April 2014, 20:29   #3
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by cgugl View Post
So the phoenix core for the vampire 600 is ready and functional?

I offer myself to try on my amiga !

The core is working - but not all instructions are tested yet.
This will take time to test all.
This month you can NOT expect to just run any Amiga game.

But nevertheless you can savely write programs which use the tested instructions.
Your programs will work correctly.

This way you could write stuff like 4K demos which work both correct and fast.
You could "load" those demos into the card and you could execute them.


It would be nice to create some demos which really challenge the core.
Maybe a high quality texture mapper, or a real time fractal generator.
The more CPU challenging the better

Like writing the "Juggler demo" but maybe this time rendered in real time :-D


If you like to code som ASM demos.
First maybe small ones ...
To help to test and benchmark the core then this help would be appreciated.

I will provide a complete list of available instructions, timings, and special features that can be used.

Cheers
Gunnar is offline  
Old 14 April 2014, 20:37   #4
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,816
Secrets, mysteries, x-files... lol - not being a coder i'm curious about those new features - any chance to less secrets? (ignore this message if this is commercial product then no need to explain why is so secret)
pandy71 is online now  
Old 14 April 2014, 20:41   #5
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by pandy71 View Post
Secrets, mysteries, x-files... lol - not being a coder i'm curious about those new features - any chance to less secrets? (ignore this message if this is commercial product then no need to explain why is so secret)
Documented will be available when the core is out.
Until then features could still come in / or out.
Gunnar is offline  
Old 14 April 2014, 21:50   #6
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,156
Can you at least "whet the appetite" with an example or two of what special tricks this core has up its sleeve?
robinsonb5 is offline  
Old 14 April 2014, 22:28   #7
cgugl
Registered User
 
Join Date: Dec 2013
Location: italy
Posts: 51
unfortunately I do not know the ASM ...

I'd like to know if with this core You can now boot and start the workbench...
cgugl is offline  
Old 15 April 2014, 00:22   #8
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,816
Quote:
Originally Posted by Gunnar View Post
Documented will be available when the core is out.
Until then features could still come in / or out.
This is my point - perhaps features can be added/removed/modified before finalizing documentation and development - after this it can be to late.
pandy71 is online now  
Old 15 April 2014, 07:48   #9
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 819
Quote:
Originally Posted by Gunnar View Post
I will provide a complete list of available instructions, timings, and special features that can be used.
Will you also provide tools, like a compiler and emulator?
britelite is offline  
Old 15 April 2014, 08:46   #10
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by britelite View Post
Will you also provide tools, like a compiler and emulator?
The CPU is an 68K CPU, therefore normal AMIGA development tools all work.
This means you can write a normal demo which can run both on any classic AMIGA and on Phoenix/Vampire.

The CPU can be emulated in a VHDL development tool (e.g. Modelsim or Cadence). This is might be useful for analysis of certain high performance loops - as you can this way see a lot of internal information like Cache-misses, Memory-Prefetches etc.
So if you write for example a texture mapper and wonder if there might be options to tune the code then I can analyse the workloop and create a pipeline diagram showing you bubbles or options to tune the code,
Gunnar is offline  
Old 15 April 2014, 09:00   #11
TCD
HOL/FTP busy bee

 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,759
Quote:
Originally Posted by Gunnar View Post
In addition to this, the CPU has some unique features.
Quote:
Originally Posted by Gunnar View Post
The CPU is an 68K CPU, therefore normal AMIGA development tools all work.
Does not compute.
TCD is offline  
Old 15 April 2014, 09:12   #12
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 819
Quote:
Originally Posted by Gunnar View Post
The CPU is an 68K CPU, therefore normal AMIGA development tools all work.
This means you can write a normal demo which can run both on any classic AMIGA and on Phoenix/Vampire.
If it's only a 68k cpu without any additional instructions, then I don't think it's worth the hassle to rewrite my current texture mappers (or any other demo effects).

So, for testing you could just use current 060 demos and see if they run at a better frame rate
britelite is offline  
Old 15 April 2014, 09:18   #13
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by britelite View Post
If it's only a 68k cpu without any additional instructions, then I don't think it's worth the hassle to rewrite my current texture mappers (or any other demo effects).

So, for testing you could just use current 060 demos and see if they run at a better frame rate
Well, the core is integer only as an FPU does not fit into FPGA.
Is your texture mapper integer code only?

How do you calculate the texture coordinates, do render lines with constant distant to the viewer and therefore only "add-up" texture coordinates. Or do you render next pixels on the screen and either have to cheat on the exact texture coordinate or do you use a DIV/SQRT per pixel?

Is your texture rendering loop already unrolled to be able to take part of OoO CPU features?

How do you do the C2P conversion?
Do you use a seperate task for this which could be ran as hyperthread easily?
Gunnar is offline  
Old 15 April 2014, 09:23   #14
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 819
Quote:
Originally Posted by Gunnar View Post
Well, the core is integer only as an FPU does not fit into FPGA.
Is your texture mapper integer code only?
All my linear mappers are integer only, my perspective mapper uses fpu.

Unless the new core adds some useful new instructions, there's no point in rewriting the texture mappers if there's a risk it will lead it to perform worse on an 060.
britelite is offline  
Old 15 April 2014, 09:27   #15
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by britelite View Post
All my linear mappers are integer only, my perspective mapper uses fpu.

Unless the new core adds some useful new instructions, there's no point in rewriting the texture mappers if there's a risk it will lead it to perform worse on an 060.
The linear mapper render from left to right on the screen or left to right in the texture?
Is the perspective for the linear corrected of some pixels or never?

What would you say is the buiggest "bottle" neck on the 68060?
Is it CPU power, or is it memory latency /bandwidth?
Gunnar is offline  
Old 15 April 2014, 09:31   #16
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 819
Quote:
Originally Posted by Gunnar View Post
Is the perspective for the linear corrected of some pixels or never?
It's linear, so it's not perspective corrected

Quote:
What would you say is the buiggest "bottle" neck on the 68060?
For linear texture mappers it's definitely memory speed.
britelite is offline  
Old 15 April 2014, 09:46   #17
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by britelite View Post
It's linear, so it's not perspective corrected

For linear texture mappers it's definitely memory speed.
Lets say a memory read would nto block the CPU, but it could continue to execute independant instructions.
E.g for example you calc to pixel im parallel and when one does the memory read you do the color/light mixing of the other. This way the memory latency would be 100% hidden and your texture fetch is only 1 cycle.

Would you say this would improve perfromance a lot?


Are sources of your routines available somewhere?
Gunnar is offline  
Old 15 April 2014, 11:58   #18
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL?
Posts: 2,816
Aaaah i see your point now - from my side two proposals (sadly - not like you expecting) - perhaps something like RPTx from TMS320 can be added (repeat single and repeat block) this should be not resource intense, i would go also for real barrel shifter maybe increase twice amount of registers (two banks, fast context switching), probably also MAC instruction can be nice to have (perhaps coprocessor interface similar to 68882?)
pandy71 is online now  
Old 15 April 2014, 13:02   #19
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
I think a good coder could do on the Vampire/A600 something like:

real time fractal renderer which runs in :
Hires-Interlaced 640x480 with 16 colors and 60 FPS
Ah no does not work - we can not get the other halve of the bus bandwidht

Thats a pity we have a fast CPU but the chipset still limits our options.

The best options for display that I see are running somehting like
Lowres EHB for games in 25 FPS.
This should work fine.

Last edited by Gunnar; 15 April 2014 at 17:28.
Gunnar is offline  
Old 15 April 2014, 13:21   #20
britelite
Registered User
 
Join Date: Feb 2010
Location: Espoo / Finland
Posts: 819
Quote:
Originally Posted by Gunnar View Post
I think a good coder could do on the Vampire/A600 something like:

real time fractal renderer which runs in :
Hires-Interlaced 640x480 with 16 colors and 60 FPS
Oh really, does the Vampire also speed up the chipmem-access?
britelite 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
Vampire 500 project started majsta Hardware mods 221 17 August 2016 18:42
cd32 project idea i challenge ... sian request.Other 11 15 June 2013 19:34
Looking for artist to collaborate on Lotus Turbo Challenge project P-J Amiga scene 16 07 January 2012 04:21
Desperately seeking Amiga Demo Coder slayerGTN Amiga scene 2 02 August 2010 23:34
Project-X SE & F17 Challenge v2.0 (1993)(Team 17)(M5)[compilation][CDD3499] retrogamer request.Old Rare Games 0 05 April 2007 14:37

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 01:39.

Top

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