Welcome, Guest. Please login or register.

Author Topic: ADOOM on A600 running 22-35 FPS  (Read 55970 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline cunnpole

  • Full Member
  • ***
  • Join Date: Mar 2011
  • Posts: 120
    • Show only replies by cunnpole
Re: ADOOM on A600 running 22-35 FPS
« Reply #224 from previous page: February 14, 2015, 03:13:01 PM »
Quote from: biggun;784026
There is nothing technically in APOLLO which prevents doing an ASIC.


I dont think anyone disputes that. The implication was just that it is less likely if we dont engage with, and make it attractive to, the types of people who could afford to build one with us.
 

Offline biggunTopic starter

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: ADOOM on A600 running 22-35 FPS
« Reply #225 on: February 14, 2015, 03:36:14 PM »
Quote from: cunnpole;784028

 The implication was ....



Facts are:
 * Phoenix is working,
 * People use it
 * Phoenix is the most technical advanced and fastest 68K CPU ever done by men. :-)




I find this "barking" quite amuzing. :-)

When Phoenix was talked about many people wrote that
* Phoenix is not real and that we are just lyers.



Now people complain about this and that feature.
Funnily these people have never  used Phoenix, never seen it, and do not know how Phoenix really works.

Matt seems to be a big fan of Phoenix as he is so kind to explain people in forums
all over the place how Phoenix does this or that.
But mind that  Matt has his  knowledge only from interpreting my posts in the Apollo Forum.

This means his  explanations often contain some misunderstandings and also outdated info which was changed long ago.

Its nice that Matt advertised for us.
Thank you Matt.

But please mind with all his explanations that Matt does not know the Phoenix sources,
and that he never had seen or used the Phoenix in real live.
So all information is hear-say from reading our forum...

If you want 100% reliable information then the best idea is to ask the people that know directly.

Offline cunnpole

  • Full Member
  • ***
  • Join Date: Mar 2011
  • Posts: 120
    • Show only replies by cunnpole
Re: ADOOM on A600 running 22-35 FPS
« Reply #226 on: February 14, 2015, 04:55:37 PM »
I actually don't doubt any of that and also think talk of ASIC or any other future step is premature. This is already likely to turn the amiga upgrade market upside down. When the board become available for all systems then we'll be able to see where to go next
 

Offline Paulie85

  • Full Member
  • ***
  • Join Date: Dec 2009
  • Posts: 146
  • Country: 00
    • Show only replies by Paulie85
Re: ADOOM on A600 running 22-35 FPS
« Reply #227 on: February 14, 2015, 05:54:49 PM »
Doom is running very smoothly there.It would be nice to see a demo video of the card booting up, running the OS and using a few programs to get an idea of the speed for general usage.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: ADOOM on A600 running 22-35 FPS
« Reply #228 on: February 14, 2015, 07:22:12 PM »
I have no idea what Gunnar and MattHey are arguing about due to I had a little disagreement with my Time Machine.  I say I wired the 6581 SID chip in correctly but it says I wired it in backwards.  Either way, the end result was that I accidentally got sent forwards in time 2 years instead of backwards.  So I find myself materialized in the year 2015 and I have no idea what has been going on the last 2 years. :crazy:

Quote from: biggun;784034

If you want 100% reliable information then the best idea is to ask the people that know directly.


Ok.  I would like to read the instruction manual for the new MiniApollo that you have crammed into Majsta's board.  Where is it at?

Does it contain any new instructions that I can use to produce the World's Best 2D Strategy Board Game(tm) ?

Have you left away any instructions that you are saving for the rumored future A1200 Apollo card?

I don't care if certain compilers don't "support" the new instructions.  The best compiler in the universe is sitting inside my head and it already supports a theoretically infinite number of new instructions.
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline Rob

Re: ADOOM on A600 running 22-35 FPS
« Reply #229 on: February 14, 2015, 07:38:15 PM »
Quote from: ChaosLord;784088
n The best compiler in the universe is sitting inside my head and it already supports a theoretically infinite number of new instructions.


Bounty to open source that.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: ADOOM on A600 running 22-35 FPS
« Reply #230 on: February 14, 2015, 07:40:44 PM »
Quote from: matthey;784019
I would be very surprised if a compiler tries to take advantage of the extra vector/integer hybrid whatever registers

What is wrong with having vector registers added?


Quote

 and 68k assembler fans are likely to turn up their nose also, Gunnar's new ISA is like trying to force a square peg through a round hole but he has decided that the square peg is better and that he will have it at all costs.

I am trying to understand what is the problem with the new ISA.

Could you give me some example instructions that are critical and should be added, but Gunnar banned them?

Did he add some good new instructions but chose stupid encodings for them?

Or ?

Remember I have no idea what has been going on with this.  The last thing I remember, I was telling Majsta what a good job he was doing in trying to cook up an FPGA 680x0 CPU (It wasn't very fast, he had just started) and now all of a sudden it seems Gunnar has taken over and Doom is running at 22fps on A600.
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: ADOOM on A600 running 22-35 FPS
« Reply #231 on: February 14, 2015, 07:43:31 PM »
Quote from: Rob;784095
Bounty to open source that.

Luckily a Black & Decker Power Drill + Crowbar are cheap. :lol:
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline Hattig

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 901
    • Show only replies by Hattig
Re: ADOOM on A600 running 22-35 FPS
« Reply #232 on: February 14, 2015, 09:32:12 PM »
Quote from: ShK;783992
Here is the A600's main CPU replaced with the Vampire 600 Accelerator:

(Apollo mini) Phoenix Core BETA v.1996


Indeed, that's an A600 accelerator with it's own 32-bit address bus and 64MB local fast ram. I.e., not a stock A600 with a stock 68000 CPU. Anyway, enough of this.
 

Offline biggunTopic starter

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: ADOOM on A600 running 22-35 FPS
« Reply #233 on: February 14, 2015, 10:10:38 PM »
Quote from: ChaosLord;784088

Does it contain any new instructions that I can use to produce the World's Best 2D Strategy Board Game(tm) ?

Have you left away any instructions that you are saving for the rumored future A1200 Apollo card?

I don't care if certain compilers don't "support" the new instructions.  T



The best place to ask this and get detailed information is

http://www.apollo-core.com/knowledge.php

If you have problems or urgent questions then the IRC channel is a place to get help.


In short answers:

Yes the core supports new instructions
Yes, the core supports more registers, or more flexible usage of old registers
Yes the core supports more flexiblel EA-modes
 The core has a number of automatic performance enhabcing features
like e.g. streaming, prefetching, dual ported caches etc.
In addition to this the developer can use new features.
Like Branch Misprediction prevention
Like Parallel Memory Loads
Like Cache control

Even without using the new features the core is faster than any existing 68K core.
But using the new features will give you more.

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: ADOOM on A600 running 22-35 FPS
« Reply #234 on: February 15, 2015, 12:26:27 AM »
Quote from: ElPolloDiabl;784023
@ Matthey
Could you tell us why you need an ASIC so badly? There is only one coldfire accelerator card for an Atari.

Seriously a $50 ras pi, must be a better choice for embedded systems. I don't feel a sudden need to control something from AmigaOS

The Raspberry Pi is $50 because it is an ASIC and not an fpga. A $50 Amiga Pi using an ASIC could:

1) be easier to program (embedded applications often ditch the OS so this is important)
2) use less memory and need less caches
3) have stronger memory performance and single core performance than the Rasberry Pi

An fpga CPU can't compete against a hard (ASIC) CPU in performance or price. The ColdFire has nothing to do with an ASIC other than that an ASIC needs to be sold in quantity to reduce the price and ColdFire support would open up the embedded market more. Most of the ColdFire enhancements are good for the 68k as well improving performance and code density which are especially valuable in embedded applications. They would also be good for emulation as the functionionality is available in many modern processors (sign and zero extension, endian conversion, etc.). ColdFire support is already available in most 68k/ColdFire shared compiler backends so it would be very easy to impliment. Atari 68k/ColdFire, the TG68 and WinUAE could possibly all adopt one unifying 68k standard which I don't think will happen with Gunnar's ISA.

Quote from: cunnpole;784063
I actually don't doubt any of that and also think talk of ASIC or any other future step is premature. This is already likely to turn the amiga upgrade market upside down. When the board become available for all systems then we'll be able to see where to go next

The FPGA needs to improve before an ASIC is viable but the decisions today affect how easy it would be to make an ASIC in the future. An ISA that is not well received and a non-standard outside of the Amiga community would make the possibility of an ASIC highly unlikely. Too much internal FPGA optimization like combining units could make the source code more difficult to adapt to an ASIC as well.

Quote from: ChaosLord;784088
Ok.  I would like to read the instruction manual for the new MiniApollo that you have crammed into Majsta's board.  Where is it at?

Does it contain any new instructions that I can use to produce the World's Best 2D Strategy Board Game(tm) ?

Have you left away any instructions that you are saving for the rumored future A1200 Apollo card?

I would like to see the ISA documentation and encoding maps also. I would like knowledgeable people to take a look at it and have a discussion about it.


Quote from: ChaosLord;784097
What is wrong with having vector registers added?

Nothing if they are in a vector unit. Let's ask ThoR what he thinks about overlaying 64 128 bit wide vector registers on the integer register file.

Quote from: ChaosLord;784097
I am trying to understand what is the problem with the new ISA.

Could you give me some example instructions that are critical and should be added, but Gunnar banned them?

Gunnar didn't ban anything. He used ColdFire encoding space to add more integer registers which he unilaterally decided was more important than anything else.

Quote from: ChaosLord;784097
Did he add some good new instructions but chose stupid encodings for them?

He has some instructions which I think would be acceptable and some that are questionable to add to a standardized ISA (like planar gfx instructions which may be ok in the core or as optional).

Quote from: ChaosLord;784097
Remember I have no idea what has been going on with this.  The last thing I remember, I was telling Majsta what a good job he was doing in trying to cook up an FPGA 680x0 CPU (It wasn't very fast, he had just started) and now all of a sudden it seems Gunnar has taken over and Doom is running at 22fps on A600.

Let's do a little time warp back to a time you remember. We go back past when Hyperion was bankrupt...back when the Natami was at it's peak generating over 300,000 hits in a single thread while Hyperion was selling a few hundred copies of AmigaOS 4 for the PPC...back when Gunnar was still part of Natami...Ok. Here we start in September of 2010. Gunnar was working on the Apollo/Natami core as a Natami Team member and brain storming for an new ISA. You were a Natami moderator then TCL and very active then. Gunnar suggested adding more registers then when some big Amiga names were on the Natami forum. The thread follows:

http://www.natami.net/knowledge.php?b=2¬e=26237

There were many suggestions about how to add more integer registers but the developers decision on more registers went something like this:

Gunnar von Boehn: yes, yes, yes
Ceti 331: yes, yes

Deep Sub Micron (Jens): no, maybe
Morgan Johansson: maybe
Claudio Wieland: maybe
Steve Thomas: maybe
Megol: maybe

ThoR: maybe, no
Phil "meynaf" G.: maybe, no
Cesare Di Mauro: no, no
Samuel D Crow: maybe, no
Marcel Verdaasdonk: maybe, no
Matt Hey: maybe, no

You were there TCL but you seemed to be moderating and didn't express an opinion that I could determine. By my count, I come up with 2 developers wanted it and 6 thought it was not a good idea. Note that Deep Sub Micron is one of the current Apollo developers and he could have been mildly in the no category but he still did try to come up with a workable solution to add more integer registers.

A 68k+ColdFire ISA was then developed with me documenting some of the better ideas and which was generally accepted as the Natami ISA. This is basically the 68kF ISA along with some ideas of my own and others since then. Gunnar left the Natami Team for reasons unknown (by some) and created the Apollo Team of which Meynaf and I were invited. Gunnar once again pushed adding registers but Meynaf and I didn't like the new idea preferring the 68k+ColdFire ideas better. Jens and Chris of the big 3 Apollo developers gave no input nor did anyone else have a major opinion. Gunner had free FPGA memory blocks to add more integer registers and determined that more registers were necessary for performance. Gunnar tried to get us to help encode and document this crazy ISA but we declined. It is true that I don't know the details of his ISA as it is less documented than the Natami ISA where there were encoding maps showing the 68k+ColdFire ISA. Rune Stensland even had enough info on the 68k+ColdFire ISA that he started adding support into the Asm Pro Assembler:

http://www.natami.net/knowledge.php?b=6¬e=33870

So I support much of what Gunnar has done with Phoenix but people need to realize that it is his pet/toy project. I'm not sure anyone with more Amiga clout than Meynaf or I could make a difference but I can say I tried. Maybe enough money could make a difference but I can't invest in his toy but only a community wide effort that is bigger than him. That is the end of story and maybe the end of the Amiga and 68k as well if some of the other important Amiga people don't change and begin cooperating very soon.
« Last Edit: February 15, 2015, 12:32:08 AM by matthey »
 

Offline ElPolloDiabl

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show only replies by ElPolloDiabl
Re: ADOOM on A600 running 22-35 FPS
« Reply #235 on: February 15, 2015, 01:35:48 AM »
Adding more registers is fine with me. Is it possible to maintain coldfire compatibility as well?
How about you compile for compatible mode or Vampire core on the software side.
Go Go Gadget Signature!
 

Offline matthey

  • Hero Member
  • *****
  • Join Date: Aug 2007
  • Posts: 1294
    • Show only replies by matthey
Re: ADOOM on A600 running 22-35 FPS
« Reply #236 on: February 15, 2015, 02:39:38 AM »
Quote from: ElPolloDiabl;784199
Adding more registers is fine with me. Is it possible to maintain coldfire compatibility as well?


Almost everyone would like more registers but what has to be give up to get them?

RISC processors give up powerful addressing modes and working directly in memory. They need several instructions for a simple load/store operation and bubbles are created when the code is not scheduled perfectly.

CISC requires more encoding space as the addressing mode as well as the register number is part of the instruction encoding. Some CISC processors like the x86/x86_64 use longer variable length encodings but this makes the code size bigger (x86->x86_64 programs are commonly 20%-40% larger and the caches have to be larger too). There is some free space in the 68k encoding map which includes the ColdFire MVS (Move with Sign extend) and MVZ (Move with Zero extend) but Gunnar's ISA would rather use this encoding for MOVEQ #,En so that his new registers don't enlarge the code. These are the most common ColdFire new instructions and without them it is a joke to call the processor CF compatible. The only other places big enough for the what Gunnar wants to do are A-line which is reserved on the 68k and would affect 68k compatibility for systems like Atari ST, Mac 68k, Sega Genesis, Neo-Geo, x68000, etc. where they are commonly used for function calls to the OS. The other place is F-line which is usually reserved for co-processors and an unknown amount of space would be needed in the future for a vector unit and possibly more. All the registers Gunnar wants to add eat up encoding space limiting other options. It would be possible to add a prefix encoding word (Megol pushed for this) which would give more consistent and orthogonal encodings but at the cost of larger instructions when using the new instructions and complexity in the core. Gunnar rejected this proposal. There are many trade-offs as you can see.

Quote from: ElPolloDiabl;784199

How about you compile for compatible mode or Vampire core on the software side.


The compatible mode would be the 68020 ISA from the late '80s. Amiga users are probably happy with a retro core like this but it would be a handicap when trying to sell for newer applications like embedded. With the ColdFire extensions and a few other minor ISA changes, we could be mostly ColdFire compatible at the instruction level and I believe we could be 5%-15% better code density (smaller code). Gunnar's major ISA changes are much riskier as far as acceptance and compatibility, especially for a FPGA processor with a tiny market, limited documentation and a lot of work for compilers.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: ADOOM on A600 running 22-35 FPS
« Reply #237 on: February 15, 2015, 07:55:22 AM »
Quote from: matthey;784186

Gunnar didn't ban anything. He used ColdFire encoding space to add more integer registers which he unilaterally decided was more important than anything else.


If he overwrote the ColdFire instructions with different instructions then he BANNED the ColdFire instructions from working.

If he had left the ColdFire instructions unimplemented then you or I or any random person could add those instructions in later.

But to enforce the BAN, he overwrote their bitpatterns with new incompatible instructions that serve a different purpose.  Thus preventing their ColdFire use forever and ever.

Is there something about those instructions that just totally sucks?

If I would have had those coldfire instructions available to me in the 1980s, 1990s and 2000s then I would have used them and had faster code.  But I have put no thought into them at all for around 10 years.

Does Gunnar have a logical reason to murder the coldfire instructions?  Like they were stupid instructions?  Or they were to slow?  Or they bog down his ALU?  Or they consume to many read/write ports?  Or ?
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline biggunTopic starter

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: ADOOM on A600 running 22-35 FPS
« Reply #238 on: February 15, 2015, 10:20:00 AM »
Frankly here was quite some non-sense posted.

The A-line extension to NOT clash with ATARI or APPLE or any other old A-line usage.
Matt what you say is just technically not true. You should know this better.


Also you did say that the FPGA Vector implementation would prevent an ASIC version of the core.
As the way the Registerfile they way Apollo does it  would not be good fro ASICS.
Again that is technically not true.

The latest and world fastest ASICS on the market use a merged Regfile just the same way as we do.
So this prooves that our solution is working perfectly in an ASIC and in fact is "state of the art".

Matt, we are very happy to discuss compiler optimizations ideas.
Technical ASIC/FPGA discussions should be done by people understanding them fully.

Offline Linde

  • Sr. Member
  • ****
  • Join Date: Mar 2004
  • Posts: 457
    • Show only replies by Linde
    • http://hata.zor.org/
Re: ADOOM on A600 running 22-35 FPS
« Reply #239 on: February 15, 2015, 04:39:14 PM »
Quote from: matthey;784186
The Raspberry Pi is $50 because it is an ASIC and not an fpga.


The Raspberry Pi is cheap because it is based on an existing cheap SoC that could realistically be produced in quantities of millions of units for less esoteric purposes than as a replacement for a legacy CPU.