Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
80 user(s) are online (46 user(s) are browsing Forums)

Members: 1
Guests: 79

amigait, more...

Headlines

 
  Register To Post  

« 1 ... 3 4 5 (6) 7 »
Re: My Amiga Projects
Home away from home
Home away from home


See User information
@TheMagicSN



good luck with your projects.

I'm so not into fps, but looking forward to your releases

People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
Go to top
Re: My Amiga Projects
Quite a regular
Quite a regular


See User information
@all

The Heretic2 box arrived today and I really like it. I am now looking forward to the game, which I will test later.

Resized Image

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE
Go to top
Re: My Amiga Projects
Quite a regular
Quite a regular


See User information
@Maijestro

Looks nice! Enjoy!

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
Current update:

Heretic II: <released>, 68k still todo
Sin: <in works>
Quake 2: Finished the last bug today, but some works in installers todo (will come with installer from PC CD, Steam Data and Gog Data each)
Secret Projects: Back in business (commercial projects). Supposed to be for PPC and 68k. A1222 included. Vampire and PiStorm included. Classic Amigas - maybe.

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
@TheMagicSN

Great work with Heretic 2, I look forward to getting it.
Are there any plans to include A1222 support with Heretic and Sin?

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
@Taddy

I am not against the A1222. Just in case of H2/Sin I do not think it is viable (see below).

As I said I want to support the A1222 in future projects.

As to H2/Sin:

The functions used in H2 do loads and loads of stuff with float-parameter passing. You basically would need to take the game completely apart.

This is also the reason why all idtech games run slow on A1222. They all do it that way.

And it is not only about the games itselves. The games extensively use GL functions using floats. By parameter passing. Meaning most likely you would need to port gl4es over to SPE first, before you can even start doing the game. Is Warp3DNova BTW SPE-capable ? I have no idea (But I have to admit I never looked into the internals of Nova, below gl4es level).

Imagine I would do all that work and then find it still slow, due to float parameter passing to gl4es or inside it. Huge risk that all the work is in vain.

There ARE 3D Games which can run on A1222.

First of all non-3D-Games.

Second 3D Games doing int math (these are usually very old 3D Games, 1995 or earlier).

Third would be I guess games which use Shading instead of classical GL (then all the float-calculation is inside the shaders). The bad news is if you go for games using shaders you close the door for 68k support which limits your sales. But on A1222 this might work (with some adaption).

One example successfully (AFAIK) adapted is Wipeout. Does all the polygon maths in integer, and the float stuff for the renderer is (I only had a quick look at the PC-source-code) appearently in one file. One file. Where Heretic 2 has a renderer of around 300 kb, with float passing all over the place. And it is not limited to the renderer...

It makes more sense to port another game than doing a A1222 adaption of an idtech game. The effort of both options is probably comparable.

It is of course something not only the A1222. The Vampire also is better with integer math than with float - though appearently on that one the message arrived that float is important and they do some work in the area. QEmu - also runs best with Integer Math. But in modern games it is INTEGER MATH which is irrelevant. All which matters is float maths (and that needs float parameter passing of course).

MagicSN

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
@TheMagicSN

Sadly with latest SDK + GCC 6 (compiling with right switches for A1222 PowerPC "P1022" cpu) float/double variables are completely wrong.
Once it will be fixed (if ever), and other libs involved will be ported to new cpu P1022, you could just recompile your projects and build new binary.

If someone knows other solution to this issue please let me know.

Go to top
Re: My Amiga Projects
Just can't stay away
Just can't stay away


See User information
@TheMagicSN
Even if there is no OS4 compiler (yet?) with P1022 CPU support automatically using the SPE as FPU replacement any software built with -msoft-float should work fine on the A1222+, but of course that would require rebuilding all libraries used by the game, incl. GL4ES, MiniGL, Warp3D(Nova), etc., and even the C library, with -msoft-float as well...

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
@joerg

Agree but with GCC -msoft-float switch you don't use SPE unit but INTEGER unit with a huge slowdown. You kn ow for a game like H2 or Sin heavily based on floats it's not a good solution.

..Any chance to get a working SDK/GCC compiler for A1222 released in next days?

Go to top
Re: My Amiga Projects
Just can't stay away
Just can't stay away


See User information
@flash
Of course integer math is much slower than FPU and SPE, but since the AmigaOS 4.1 port of Heretic 2 seems to be playable even on the slowest AmigaOne according to the benchmarks, a Micro-A1 with onboard Radeon 7000, an integer version should work without any problems on the A1222+, probably even much faster than the FPU version on the Micro-A1.

Go to top
Re: My Amiga Projects
Quite a regular
Quite a regular


See User information
@flash
Hi, can you create a simple test showing the issues with the SPE instructions and let me know if you are using HEAD of the adtools repository?

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
I was up to now under the impression (and directly from someone who definitely knows and is an expert on SPE) that you have to adapt every single float-passing with special code.

If it is enough to do -msoft-float to do it with integer - well, might be possible to do, after all no float happening then.

From 68k version I know though this gives around 3-4x slowdown (my first version of H2 on 68k was softfloat due to compiler issues which then could be fixed by a later version of the compiler). Might still be enough to be playable (100 fps divided by 4 still is 25 fps). Note though these test numbers on 68k with soft-float were only the software renderer. No idea how the GL renderer will behave, it might be more "vulnerable" to this.

Also I am definitely not working on modifying clib. But if someone else can provide me with a compiler (preferred one which works under the cygwin environment) I could give it a try. I could actually handle a soft-float version of gl4es myselves, I am compiling my own gl4es anyways. Other libs I would need would be SDL (but I only use it for sound, for a prove-of-concept I could go without it), libstdc++ and libdl (but that one won't use floats, so I guess the normal one could be used with no problems).

As to "Warp3DNova would need conversion", is that so ? Would Shared Libraries also need to be recompiled for this approach ? (But of course GL4ES *will* call ogles2.library and through it Warp3DNova and probably do float parameter passing inside).

As I said, assuming the Warp3DNova stuff does not defeat the idea, what I would need would be a compiler fitting for it with libstdc++ and libc having been adapted accordingly (assuming the claim that you just have to modify the makefile of gl4es to softfloat and same on the game would be really enough).

Myselves I am extremely sceptic here (especially as I assume GL renderer will take a worse performance hit going to integer than software renderer will, and that one already got around 3-4x performance hit) but willing to try. But definitely would not be involved in creating a changed clib and stuff. That someone else would need to provide. I assume existing development tools for the platforms I support.

Best regards,
Steffen

Go to top
Re: My Amiga Projects
Just can't stay away
Just can't stay away


See User information
@TheMagicSN
An integer version (-msoft-float) can only help on the A1222 if your games don't work for some reason with the LTE FPU emulation but only with the much slower, trap based FPU emulation.

Trying to find out why it doesn't work with LTE and fixing the problems would make more sense, and is probably less work that rebuilding the game as well all libraries used by it with -msoft-float.

Of course a SPE version for the A1222 would be even better, but I'm not sure that additional work is really required. A more than 25 years old game like H2 should run without any problems with the LTE FPU emulation on an A1222 with a Radeon HD or RX gfx card. Unless you want to play it in FHD or 4k resolutions maybe.

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
How is the type of emulation chosen?

EDIT: my tester did not mention anything on blacklisting
H2 for LTE so i assume it was with lte, they got
1 fps with software renderer, 3d hw did not render
characters in menu (this only happens on A1222,
probably some issue with float maths?) and on starting
a level “blind” game aborted with reporting bad datafiles
(But datafiles were not bad in software renderer it
started despite slow). Note this only worked so far
with disabled sound i did not investigate the a1222
Sound issue as the game was not playable anyways. I
asked now for a retest of released version and to ensure
Lte was used but i suspect same results will come.

What i can tell you is the game runs extremely slow
on A1222 (unplayable slow). And it is not only H2 but
any kind of Q2/Q3 engine game. Q2, Q3 and the two
Jedi games have been exactly the same issue (some
also have an issue with the sound and crash but if you
start them with sound disabled this unplayable slowness
happens).

I am told this is due to using float parameter passing
which due to the differences in ABI (due to SPE)
calls emulation.

And despite being 20 years old all Q2/Q3 engine
games use massive amount of float maths ams especially
float parameter passing (also in dynamic libraries,
but statically linked games based on Q2/Q3 engine
seem to have the same problem).

Games from around 2000+ already use a lot of float
maths better suited for A1222 would be games from
around 1995 or older which usually use integer
maths.


Edited by TheMagicSN on 2024/3/28 4:29:44
Go to top
Re: My Amiga Projects
Just can't stay away
Just can't stay away


See User information
@TheMagicSN
I'm surprised it's that slow since with the WOS versions on AmigaOS 4.x there is a lot of emulation involved as well, but the WOS H2, and several other WOS games, still was very playable on an AmigaOne XE, and that was with much slower gfx cards (Voodoo3, Radeon 7000, etc.) than the Radeon HD/RX ones used now.
- powerpc.library has to emulate all unaligned float/double memory accesses with an alignment exception handler (very slow) using integer instructions.
- For all function calls from WOS software to AmigaOS functions the arguments have to be changed from the PowerOpen API used by WOS to the SysV one used by AmigaOS 4.x, and the other way round.
- Special bug workarounds included in powerpc.library for individual games can make some parts much slower as well.
- The mix of (partially emulated) WOS/PowerOpen PPC and emulated m68k code used in WOS software can cause additional problems and slowdowns on AmigaOS 4.x.

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
Joerg:

No idea on the reasons. But i also asked a betatester
to repeat the test with the final version on A1222 which
will be done somewhen during easter days probably.

But it is not isolated to H2. All games using Q2/Q3
engine have on A1222 but his MASSIVE unplayable slowdown
(Several also crash on soundcode but if sound is
disabled they run with massive slowdown). And
those slowdowns are definitely much worse than
Warpos context switches appearently.

I cannot test myselves as i do not have a A1222
but i have several people accessible who can try
it for me.

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
Next one finished - Quake 2. Release is imminent. Till some tiny stuff to do.

There will be additionally to the new Q2 port 7 "Mod Packs" which will be released on Aminet in game/actio. Also there will be a port of the Mission CD "Zaero" which will be released on os4depot. The Mission CDs "The Reckoning" and "Ground Zero" will be already included with the port (assuming you install your datafiles from either Steam or Gog Classic version, the installers provided with the new port can install from either Steam Version, Gog version or PC CD ROM. In case you have neither but only an existing installation you can "fake" a gog install version by this directory structure:

baseq2/
xatrix/
rogue/
ctf/
docs/
CTF_readme.txt
license.txt
readme.txt

(That's how the files are with GOG Classic).

Note when buying the datafiles from GOG it definitely should be GOG Classic.

Recommended version is Steam as it has additionally the introfiles in high resolution while GOG Classic only has them in cin format like the PC CD version (Steam version has them in both formats). Also Steam version has some more ogv music files.

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
Amazing. Q2 is probably my favorite FPS of all time. Can't wait for this to drop. Thanks for the upcoming release!

Go to top
Re: My Amiga Projects
Just popping in
Just popping in


See User information
Ok, the new Quake 2 Version is out. ->Alinea Shop for Download

Mods are on Aminet (exact location linked on the Page at Alinea).
Also there is a third (pretty unknown) Mission CD ported, named Zaero (first two mission CDs will be already installed if you install from Steam or Gog datafiles - PC CD as source of the datafiles is also supported, but then you need to use separate installers for the Mission CDs which are also provided). Zaero Port is found on os4depot.

Go to top
Re: My Amiga Projects
Home away from home
Home away from home


See User information
@TheMagicSN

Perhaps if you wrote a small DOUBLE class with setter and getters.
you can get around this mess, perhaps some macros pointing to the class.

CPPFLAGS = -Ddouble=doubleClass

or

#define double doubleClass

using a ref, you should get address of, insted value, perhaps better for inline asm. when you don't have a real float or double.

doubleClass::doubleClass();
void doubleClass::operator=(int &value);
void doubleClass::operator=(float &value);
void doubleClass::operator=(double &value);
void doubleClass::operator=(doubleClass &value);
doubleClass &doubleClass::operator+(doubleClass &value);
doubleClass &doubleClass::operator-(doubleClass &value);
doubleClass &doubleClass::operator*(doubleClass &value);
doubleClass &doubleClass::operator/(doubleClass &value);
doubleClass &doubleClass::operator();


Edited by LiveForIt on 2024/4/12 23:40:34
Edited by LiveForIt on 2024/4/12 23:41:20
Edited by LiveForIt on 2024/4/12 23:44:26
(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top

  Register To Post
« 1 ... 3 4 5 (6) 7 »

 




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




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project