What's new

Bra64 --> The New Era Of N64 Graphic Plugins!!

Status
Not open for further replies.

ashade

New member
:daedalus: It's getting really good. I'm designing a dx9 based plugin to pj64 and 1964. I understand what are rdp and rsp, that microcodes from 0x00 to 0xc0 are handled by rsp, that microcodes from 0xc0 to 0xff are handled by the rdp, that the command lists are in the rdram, that there are 7 types os rdp emualting types, etc... I have got a lot of functions references, but the kind of params they use, their matrix organization, etc is still dark for me... Can someone explain me this?
 
OP
A

ashade

New member
Yes, I've alrady seen the emubook and it's a shit, it doesn't give info on the microcodes encoding... the best thing I found is that gbi.h file, but it's too messed...
 
OP
A

ashade

New member
Ok, I'm beginning to understand how this stuff work. My first doubt is from where i have to brgin emulating: RDRAM, IMEM or DMEM? Is there any kind of Program Counter like the rs4300i have?
 

Doomulation

?????????????????????????
cooliscool said:
Right. It's getting really good after 2 days. My ass. <_<
This looks intresting. The guy seems to have skills. Perhaps he can do another good plugin :)
Let's wait & see.
 

zorbid

New member
ashade said:
Yes, I've alrady seen the emubook and it's a shit, it doesn't give info on the microcodes encoding...
Doom's advice was not appropriate, but it doesn't make Zilmar's emubook a shit!
the best thing I found is that gbi.h file, but it's too messed...

If you want more info, try to chat with IcePir8, Azimer (but he's gone for some weeks) Hacktarux or maybe McLeod (or whoever worked on UHLE2064's graphic code) on #emulation64 on efnet, they'll probably be able to help you.

But before, have a look at the open source plugins, you'll learn a lot !

BTW, this thread should be merged with the previous one (http://www.emutalk.net/showthread.php?s=&threadid=10735)
 
OP
A

ashade

New member
I was looking at some sources and I figured out that people just do slow plugins because they want... For example:

Look at these 2 functions, the first one in the source of ultra64 and the second one created by me:

__int64 sign_extend(long num) {
return (__int64)num;
}


__declspec(naked) __int64 __fastcall sign_extend(long num) {
__asm {
mov eax, ecx
cdq
ret
}
}


My function (the second one) is 3 times faster than the first one! and I can do much more... with assembler u can bswap a dword 4 times faster than in C, u can set a bit in a number directly, etc... and people do not use it...
 

Trotterwatch

New member
I was looking at some sources and I figured out that people just do slow plugins because they want

I don't think anyone would go out to make a plugin deliberatly slow! It's more a case of someone with different ability and experience looking at someones code and being able to notice places where it could be optimised further.

Anyways good luck on making your plugin, we look forward to seeing some fruits from your labour sometime in the next year :)
 

CpU MasteR

omg h4x
cooliscool said:
Right. It's getting really good after 2 days. My ass. <_<

Dont doubt him, It looks like he knows what he is doing...

I think this might be the start of a new generation of GFX plugins^_^
 

Doomulation

?????????????????????????
ashade said:
My function (the second one) is 3 times faster than the first one! and I can do much more... with assembler u can bswap a dword 4 times faster than in C, u can set a bit in a number directly, etc... and people do not use it...
Perhaps i should also imply that not everyone knows how to use asm *shrug*
I'm one of them
:baaa:
Although i'm not a plugin writer.
 
OP
A

ashade

New member
I have talked in mIRC with many people and now I really understand how this stuff works... I'm beginning the initialization code, basic stuff yet... But I am now with a problem about PAL and NTSC... I know some countries use PAL others NTSC... can someone explain me the great difference between these systems and on what it affects my emulation?
 
OP
A

ashade

New member
HEY, I FORGOT TO SHOW MY LOGO... LOOK AT THIS AND TELL ME WHAT YOU THINK...

Bra64LOGO.jpg
 
OP
A

ashade

New member
:n64: I figured out that rdram adresses are masked, because rdram has only 8mb... but i really didn't understand how they do this "mask"... in every plugin i found they usually do a segment array (dont know why) to convert mirrored addresses... Can someone explain me this stuff?
 

Remote

Active member
Moderator
ashade said:
:n64: I figured out that rdram adresses are masked, because rdram has only 8mb... but i really didn't understand how they do this "mask"... in every plugin i found they usually do a segment array (dont know why) to convert mirrored addresses... Can someone explain me this stuff?

Your best hope of getting help is probaly to hop onto #emulation64 on EFNET...
 
Status
Not open for further replies.

Top