Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

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

Members: 1
Guests: 79

m3x, more...

Headlines

Forum Index


Board index » All Posts (thellier)




Re: Wapr3D SI: the fastest card
Not too shy to talk
Not too shy to talk


Hello

Note
that Cow3D is a pure Warp3D prog (No MiniGL nor GL nor Mesa inside)
So with Cow3D you benchmark the cpu_doing_the_rotation + warp3D_drawing_speed

When typing the key 'b' you bufferize all the rotations vertices ( I mean the CPU no more compute the rotation)
So then benchmark only the warp3D_drawing_speed

Alain Thellier - Cow3D & Wazp3D

BTW Does someone tested the Microbe3D's Demo-View tool with this new Warp3D ?

Go to top


Re: Do not miss it (March the 20th) !
Not too shy to talk
Not too shy to talk


Here at Paris due to fog (and heavy pollution those last days) we cant even says where is the sun ... sad sad
The sky looks like an uniform grey-white flat surface

Alain Thellier - Paris 9h30
http://www.huffingtonpost.fr/2015/03/ ... -mars-faux_n_6903744.html

Go to top


Re: Joystick on OS4: GamePort or AmigaInput ???
Not too shy to talk
Not too shy to talk


@all

Ok it works
lowlevel.library is TOOOO simple

Just add Open/close lowlevel.library to your game
and this et Voilà

/*==================================================================*/
static void printbuttons(ULONG joy)
{
if (joy & JPF_BUTTON_PLAY) printf("[PLAY/MMB]");
if (joy & JPF_BUTTON_REVERSE) printf("[REVERSE]");
if (joy & JPF_BUTTON_FORWARD) printf("[FORWARD]");
if (joy & JPF_BUTTON_GREEN) printf("[SHUFFLE]");
if (joy & JPF_BUTTON_RED) printf("[SELECT/LMB/FIRE]");
if (joy & JPF_BUTTON_BLUE) printf("[STOP/RMB]");
}
/*==================================================================*/
static void printmousedirections(ULONG joy)
{
printf("[%d,%d]", (joy & JP_MHORZ_MASK), (joy & JP_MVERT_MASK) >> 8);
}
/*==================================================================*/
static void printjoydirections(ULONG joy)
{
if (joy & JPF_JOY_UP) printf("[UP]");
if (joy & JPF_JOY_DOWN) printf("[DOWN]");
if (joy & JPF_JOY_LEFT) printf("[LEFT]");
if (joy & JPF_JOY_RIGHT) printf("[RIGHT]");
}
/*==================================================================*/
static void printjoyport(ULONG unit,ULONG joy)
{
int i;

printf("UNIT%d: ",unit);
for(i = 31; i >= 0; i--)
{
printf("%d", (joy & (1 << i)) ? 1 : 0);
}

printf(" - ");

if ((joy & JP_TYPE_MASK) == JP_TYPE_NOTAVAIL) printf("NOT AVAILABLE");
if ((joy & JP_TYPE_MASK) == JP_TYPE_UNKNOWN) printf("UNKNOWN");

if ((joy & JP_TYPE_MASK) == JP_TYPE_JOYSTK)
{
printf("JOYSTICK - ");
printjoydirections(joy);
printbuttons(joy);
}

if ((joy & JP_TYPE_MASK) == JP_TYPE_GAMECTLR)
{
printf("GAME CONTROLLER - ");
printjoydirections(joy);
printbuttons(joy);
}

if ((joy & JP_TYPE_MASK) == JP_TYPE_MOUSE)
{
printf("MOUSE - ");
printmousedirections(joy);
printbuttons(joy);
}

printf("\n");
}
/*==================================================================*/
void MyProcessJoystickNew(struct game *G)
{
ULONG joy,n;

NLOOP(4)
{
joy = ReadJoyPort(n);
if(joy)
if(!((joy & JP_TYPE_MASK) == JP_TYPE_MOUSE) )
if(!((joy & JP_TYPE_MASK) == JP_TYPE_NOTAVAIL) )
break;
}


G->joystick.right =(joy & JPF_JOY_RIGHT);
G->joystick.left =(joy & JPF_JOY_LEFT);
G->joystick.down =(joy & JPF_JOY_DOWN);
G->joystick.up =(joy & JPF_JOY_UP);
G->joystick.b0 =0;
G->joystick.b1 =0;
if (joy & JPF_BUTTON_RED) G->joystick.b0 =TRUE;
if (joy & JPF_BUTTON_PLAY) G->joystick.b1 =TRUE;

G->key=1;
if(debug) printjoyport(n,joy);
}

Go to top


Re: Joystick on OS4: GamePort or AmigaInput ???
Not too shy to talk
Not too shy to talk


Thanks again

I will try lowlevel.library : it seems very simple to use

http://en.wikibooks.org/wiki/Aros/Dev ... r/Docs/Libraries/LowLevel

Go to top


Re: Joystick on OS4: GamePort or AmigaInput ???
Not too shy to talk
Not too shy to talk


@BSzili
Thanks for help

>gameport.device. In that case you are good to go, since it's already supported everywhere.
Oh Nice
But in fact it dont works : on the Sam440 AbbayeDesMortsOS3 as AbbayeDesMortsOS4 dont see the Trustmaster4 = the game runs but no input from joystick : something failed with GamePort device inits

If I launch Mace for example the Trustmaster4 joystick works well on the Sam440

Certainly a problem related to GamePort device units ?!?

Alain



Go to top


Re: Joystick on OS4: GamePort or AmigaInput ???
Not too shy to talk
Not too shy to talk


Thanks for answers

Yes I had a look to Huno's library but it is a big beast for doing such a basic function

I am just porting "Abbaye des Morts" game
http://www.amiga-ng.org/viewtopic.php ... cre=1&start=0#14200730421
It is just a 92 k binary game so linking with "a some mega bytes library" hurts me

> Yes I was talking about the Gameport.device : I use it on OS3 and it seems (in WinUAE) to works fine
So now there are 3 choices
lowlevel.library
Gameport.device
AmigaInput
arghh...

Certainly BSzili know how to use the joystick with all the great ports he did
BSzili please ???

Alain

Go to top


Joystick on OS4: GamePort or AmigaInput ???
Not too shy to talk
Not too shy to talk



I am trying to make one of my programs use the joystick on a Sam440 + USB joystick (Trustmaster4)

Now the program works with GamePort on OS3

Do I need to program that the same way as OS3 with GamePort or do I truly need to use AmigaInput ???

What exactly do GamePort or AmigaInput ?? (It is a kind of mystery for me ...) Is AmigaInput a wrapper on GamePort ??

What will give the better compatibility ?
Questions like :
Same code OS3 and OS4 ?
Using classic joystick on Amiga Classic ?
Using USB pads,joysticks,etc... on Amiga NG ?

MANY THANKS

Alain Thellier

Note: Please dont answer me "just use SDL"

Go to top


Re: OS41FE: The Crisot demo "Three" bug (=the stripe bug again)
Not too shy to talk
Not too shy to talk


>mpega.library fail so no sound
Oupps was just missing mpega.library in OS41FE's LIBS:

So the sound works
But the driver bug remain

Alain

Go to top


Re: OS41FE: The Crisot demo "Three" bug (=the stripe bug again)
Not too shy to talk
Not too shy to talk


@Hans

Using the old libs:Warp3D/HWdrivers and it works again. No need to change other things in the OS41FE install

If Sam440 use the r200 driver then it is:
W3D_R200.library 253572 1/1/2013 = works
W3D_R200.library 230256 8/10/2014 = bug

Alain Thellier

Go to top


Re: OS41FE: The Crisot demo "Three" bug (=the stripe bug again)
Not too shy to talk
Not too shy to talk


@all
Thanks for your help

I will investigate more this week

Alain Thellier

Go to top


Re: OS41FE: The Crisot demo "Three" bug (=the stripe bug again)
Not too shy to talk
Not too shy to talk


After reflexion : I am not sure that the texture is only partially trashed
I mean as the demo use multi-texturing perhaps the diffuse-texture is ok and only the bump-texture is trashed or lost

I mean seeing some details on the walls dont mean that a texture is not fully lost or not readed : the details may come from the "other" texture

Also doing Amiga-M to swap screens change where the "stripes" bug occurs

Alain Thellier

Edit: I mean it may be a "lost texture pointer" bug too

Go to top


OS41FE: The Crisot demo "Three" bug (=the stripe bug again)
Not too shy to talk
Not too shy to talk


Hello

The demo from Crisot "Three" has been reported to not work properly on OS41FE
http://forum.hyperion-entertainment.b ... 31646&hilit=crisot#p31646
So I give it try on my Sam4440/M9

test1:
mpega.library fail so no sound
All looks ok . The bump-mapping effect works too . the only problem is that ceilling and floor walls (=textures) are fully trashed

test2:
Ditto. But this time all the walls are ok but this time the blue "particles" are trashed. I mean this tex seems to be here (loaded) as we can see the blue "plots" but trashed with little vertical lines like something wrote in (trashed) the GPU memory

test3:
Using Wazp3D
All works even sound (I mean what is emulated so not the bumpmapping,zbuffer,etc...) so the problem dont come from a load file,load data, load datatype problems as all textures/walls/particles are ok

Conclusion: All looks like something is trashing randomly one texture in the GPU memory

Alain Thellier



Go to top


Re: 3D looks slower on my Sam440 with OS41FE
Not too shy to talk
Not too shy to talk


W3D_DrawArray() is a WaRp3D function it draw several 3D triangles that are stored in an array : it is a kind of "Draw a whole 3D mesh" function
(This function rely on gpu bus : Cow object contain 5813 triangles so at 41 fps it need 238 000 triangles/seconde)

Microbe3d use W3D_DrawArray()
Cow3D use W3D_DrawElements() that is a similar function but use indexed triangles

I have also tested to start Cow3D in the Startup-Sequence (after Iprefs) so without the Workbench : It is the same 38 fps

So it is not the Workbench the problem...

Alain Thellier



Go to top


Re: 3D looks slower on my Sam440 with OS41FE
Not too shy to talk
Not too shy to talk


@all
Thanks for answers

@LiveForIt
>If you're using Picasso96 functions in your Wasp3D
I wasnt talking about my WaZp3D but about real WaRp3D usage

In Microbe3D I have made deeper tests: the slowdown dont seems to be in BltBitMapRastPort() or other Picasso96/graphics stuff but rather in the part that call W3D_DrawArray()

@samo79
Did you tested Cow3D too ? because IoQuake3 certainly do lots of things not related to 3D drawing (sound,gameplay, transformations,etc...)

Alain Thellier

Go to top


3D looks slower on my Sam440 with OS41FE
Not too shy to talk
Not too shy to talk


Hello

I have updated my Sam440 to OS41FE
But now when I try some of my 3D progs CoW3D or Microbe3D they seems to be slower

Typically my Aminet/Cow3D-ppc
was giving me 41 fps on my old OS411 and
now it give me 38 fps on OS41FE
so something like 7% slower

I have copied my old envarc to remove all OS411's "nice wb effects" that may use the cpu
Then I have used TaskList to compare the active tasks OS41FE
vs OS411 ==> Removed some stuffs in devs/dosdrivers to be the same

I have desactivated all in wbstartup
I have put back the old Warp3D in libs:
(So warp3D is NOT the slowing thing)
I have compared the startup-sequence

BUUUT whatever I do : on OS41FE i have 38 fps not 41 anymore

Can someone with a dual boot confirm this ???

Alain Thellier

Edit: I have also maded deeper tests with Microbe3D that confirm the same (typically drawing the partygirl.obj was done in 52ms versus 55ms now so 6% slower. This happen in the W3D_DrawArray part)
Edit2: All the tests are maded with the Compositing effect OFF


Go to top


Re: Any altivec experts? (H.264 codec)
Not too shy to talk
Not too shy to talk


Hi
I suppose that stride is a constant so (say) 3*stride will generate a constant too so no problem

BTW if stride is a constant it should better be written as STRIDE

Alain



Go to top


Re: Payback on OS4.1 guide
Not too shy to talk
Not too shy to talk


>What happened with Warp3D when it was ported from AOS 3.x to AOS 4.x?

On OS3 it is Warp3D V4
On OS4 it is Warp3D V5
V5 got new functions for drawing stuff mainly the new W3D_InterleavedArray() used with old W3D_DrawArray()
and new W3D_SetTextureBlend() for setting all drawing "aspects"

This should theorycally not be a problem on Amigaish systems (.library upward compatibility)

But it seems that Warp3Dv5 have let down (=not implemented) the old drawing functions
It was (I suppose?!??) based on the fact that new OS4 progs will use MiniGL (that use Warp3D v5) and will not call the old/slow Warp3D V4 functions directly
Also some old Warp3D V4 drivers got an indirect mode (=fast) that is not implemented on OS4

Soooo running a w3d prog compiled for os3 on os4 will make calls to uninplemented functions, causing undetermined drawmodes but also freezes, hardwares locks, or crash...

Alain Thellier - Wazp3D
(*) see http://aminet.net/package/driver/video/PatchWarp3D about this topic

Go to top


Re: BSzili port requests
Not too shy to talk
Not too shy to talk


@SinanSam460
you should better use the voxelbird config for wazp3d


Alain Thellier

Go to top


Re: Finding where a .library is allocated in memory ?
Not too shy to talk
Not too shy to talk


@Broadblues

You are right : this is the stack
I have added that it my code
mytask=FindTask(NULL);
a=(ULONG)mytask->tc_SPLower;
b=(ULONG)mytask->tc_SPUpper;
s=b-a;

and the stack size s is 4096 bytes
If i change the stack in the icon = it is still 4096
If i change the stack in rexxmast icon = it is still 4096

:-/

Where do I change the stack for arexx scripts ?

I mean I have an arexx script that call my Microbe3D.library
(this lib got an arexx support fuction that make it callable from arexx scripts)

Alain Thellier



Go to top


Re: Finding where a .library is allocated in memory ?
Not too shy to talk
Not too shy to talk


Thanks to all

>The library base should have a BPTR to SegList, if that's what you are looking for.
How do I use it ? Example code ?


>if you have an OS4 version of the library it would GR on access to that string.
No the OS4 version crash later when accessing to some corrupted data not when trashing occurs
Both 68k and OS4 version crash


The problem occurs with my Microbe3D.library (*) when called from Arexx (it got an "Arexx support" function) I mean the "same" test program written in C works fine but crash in Arexx
Arexx parameters looks fine seen from inside Microbe3D.library
Then the Microbe3D function is called , begin normally (good parameters) then it crash at some point (like if the code or OS has been trashed)
Very strange


Alain

(*) See what is Microbe3D here:
https://www.youtube.com/results?search_query=Microbe3D

Go to top



TopTop
« 1 ... 6 7 8 (9) 10 11 12 ... 14 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project