What's new

Star Wars Video Plugin??

Smiff

Emutalk Member
http://www.pj64.net/support/faq/#PR140

To the above submitter/topic starter:
You have posted a Frequently Asked Question (or several).*

This means you were expected to find the answer to these questions yourself by reading the information which we've already prepared for you and through your own common sense.

Asking and answering questions such as yours, wastes time and adds no new knowledge to the 'pool' of knowledge that is available for everyone. Although you probably didn't intend it, you may have offended the people best qualified to help you, by ignoring their writing, and implying that a small amount of your time is worth more than a large amount of theirs. This is not the best way to go about getting help!

All users are expected to be familiar with the following before they get any personal support:

The User Manual (in the application: Help > User Manual)
The Project64 GameFAQ (in the application: Help > GameFAQ) and please see update here.
The Online FAQ (at http://www.pj64.net/support/faq/)
You should also use the search function on this forum.

This topic will be left open in case you need further help. However, in future, please consult all documentation before asking a question (using search functions, you will soon find it's even faster than waiting for the right human to respond!)

Thanks for reading, and don't take offense as this message was not personal.


*You are more likely to get this standard response if:
- The topic has been discussed here very often, recently or both.
- You haven't given your thread a useful title (see above).
- You show a lack of effort to help us to help you.

Make sure to check the rules (see sticky topic), before posting again.


To other members:
We encourage other members not to answer Frequently Asked Questions directly, but instead to refer such people to the answers already prepared by us. Answering these questions yourself risks only giving a partial, incorrect or misleading answer, as well as wasting your time.

Please go ahead and answer if you know the “official” answer and
  1. You think you can write a better one (we may use your answer in future doc updates!) or
  2. You (using experience) can give a specific recommendation where we don't e.g. to name a 3rd party component or utility to solve the user's problem. Then any further discussion should be taken to the correct place, so it's best to provide a link.
Other moderators may copy/paste this post where applicable.
 
Last edited:

Smiff

Emutalk Member
you can't actually advocate piracy on this forum. but yeah i might mention its a PC native also (does Naboo have a PC ver?)
 
Last edited:

Sir Camehan

New member
I just posted this to let you know about the progress I'm having in decoding the microcode & writing the plugin that will support it, so people won't get upset if I don't finish coding the OpenGL 2.0 based plugin.

First of all, the microcode is a completely unique one, one of which I never thought possible. My first presumptions where that it was a very heavily modified F3DEX2.XX RSP program, but now I came to realise that it is a entirely new microcode, written entirely from scratch. I used IDA Pro to sift through the 2 games' ROM's, and I will tell you it was a major nightmare finding R4300i assembly code that related to the code used by the RDP and RSP. It seemed that the N64 version of Star Wars Rogue Squadron shares a lot of its architecture from the PC version. I managed to find data strings in the N64 version that relate to filenames in one of the PC's
versions data archive files, which is really strange. Also, it appears that the PC version also uses the MusyX sound system, for quadraphonic sound output.

The 2 Star Wars games use a absolutely insane amount of low-level framebuffer transfers (mostly for the cinematics & screen transition effects), which makes the speed of the games very slow, but the games are still playable.

The framebuffer use in the 2 Star Wars games is a hell lot more complex than the huge amount of motion blur type framebuffer transfers used in the Japanese game "Tsumi to Batsu" (Sin & Punishment is the English name).

I will post screenshots & possible videos of my progress.

The bottom line is: I decoded the microcode, but the only problem is optimizing the plugin's framebuffer code to make it playable in a proper form, due to the massive speed losses when the framebuffer is used. When I posted on the ZSNES boards, I said I will only release the details of the microcode when I'm happy with my emulation of the 2 games, and I'm standing by that word, because I hate releasing low quality rubbish.

So if you want to play the games perfectly now, acquire the PC versions. There is currently a Star Wars Rogue Squadron rip around that has everything in the games intact, including the movies & music. But I don't advocate piracy of anything that is still being sold. Anything not sold, I don't have a problem with, but thats your choice to do so.
 

gandalf

Member ready to help
those "low level framebuffers" can´t be emulated with the video card, i mean...not in software,with a hack or something?


Keep the good job :)
 

Locutus

New member
Don't make us wait too long...

I think I speak for everyone who is drooling to see better emulated screens of these two games when I say: post screen shots of your new plug-in in action! We all want to see! …or at least don’t make us wait too long. lol.

The day that we can say that Star Wars: RS/BFN works perfectly is the day we win over the multi-million dollar Lucas Arts! Lucas Art: The Microsoft of N64 emulation!

It’ll also mark the N64 emulation stepping into the realm of 99% complete.

Also, just a side note, it doesn’t matter to me if it is rubbish to start out with… just as long as we see these two games working better than before… heck even if it’s only the opening sequence! lol

I look forward to the day when we see this:

-LOC-
 

Sir Camehan

New member
those "low level framebuffers" can´t be emulated with the video card, i mean...not in software,with a hack or something?

Low-level framebuffer support can be emulated using a video card, but the data transfer speed between the video RAM & main RAM is the biggest & most evident problem. The original N64 does not have this problem is because it has a single unified RAM block, so framebuffer transfers are very fast due to this. The Xbox 360 will also be extremely fast at framebuffer operations due it it also having a unified memory architecture.

But with the PC , data is transfered from the GPU's RAM to the main memory and back again on each frame the framebuffer is used. There are some ways to optimize framebuffer use, but the hardest part is working out how to do it in a efficient manner, without resorting to brute hacks like using shaders to simulate the effect, without actually emulating the effects. I currently working out a way to use OpenGL to optimize framebuffer transfers, by using some of its extensions which support render-to-texture operations, but I'm not making much progress. A software-based plugin should eliminate these issues, as all the graphics processing is done by the CPU. But rendering support will suffer. Another way might be to create auxillary framebuffers in video RAM of video cards that support them, which is what Gonetz's Glide64 plugin does. But I don't know of any other ways yet.
 

olivieryuyu

New member
hmm really ?

according to my information, the microcode of star war rogue squadron is different from battle of naboo ...

am i wrong ?
 

Sir Camehan

New member
From my ROM hacking, it seems that Star Wars: Battle for Naboo shares the same microcode as Star Wars: Rogue Squadron. That also means that they share the same graphics engine. Star Wars: Battle for Naboo also shares the same sound system, MusyX.
 

olivieryuyu

New member
according to the developers of Factor 5, the engine is different of Battle of Naboo and Rogue Squadron

"So we decided to throw away most of it and start from scratch"

"In the end a lot of mathematics and sleepless nights rewriting the microcode made the new landscape engine possible."

btw how can you explain that Lemmy plugin doesn't emulate just a small part of Battle of Naboo ?

weird ....

am i wrong so ?
 
Last edited:

Sir Camehan

New member
thank you for clearing that up. i should have put more thought into hacking that particular game, instead of just presuming, shouldn't I??? the reason why lemmy's plugin can emulate a bare minimum of star wars rogue squadron & why it can't emulate a single shred of SWBFN is that the plugin does not support any of the extremly basic parts of the video driver used.

it seems that you are being very sceptical & sarcastic about my progress. and i can assure you that i am working my absolute hardest to get these 2 games emulated. if you want proof, i can give you the entire source code to the plugin. and then i would stop work on it, as there is no point whatsover to do something , if people constantly say it is impossible (directly or indirectly) & they try to put you down in any way possible.

i don't want to argue with you or anyone here. im just saying what i feel.
 

olivieryuyu

New member
Sir Camehan said:
thank you for clearing that up. i should have put more thought into hacking that particular game, instead of just presuming, shouldn't I??? the reason why lemmy's plugin can emulate a bare minimum of star wars rogue squadron & why it can't emulate a single shred of SWBFN is that the plugin does not support any of the extremly basic parts of the video driver used.

it seems that you are being very sceptical & sarcastic about my progress. and i can assure you that i am working my absolute hardest to get these 2 games emulated. if you want proof, i can give you the entire source code to the plugin. and then i would stop work on it, as there is no point whatsover to do something , if people constantly say it is impossible (directly or indirectly) & they try to put you down in any way possible.

i don't want to argue with you or anyone here. im just saying what i feel.

sceptical: yes i'm because it'd be amazing if you could achieve something like this

sarcastic: no i'm not. i'm always cheering up people that are trying to make the n64 emulation evolving.

i never said it was impossible, everything is possible with time.

i'm not asking source, neither proofs but sometimes what you're saying is not very accurate so i'm asking question to you, which i think is perfectly normal

So i'll wait and see ...

Be sure i'll be the first to congratulate you if you're able to do it ;)
 
Last edited:

Gent

The Soul Reaving Gentleman
Administrator
What concerns me is: why this is even on the Porject64 Board ..
This should be in General N64 Emulation Discussion as all Plugins have the same problem and isn't just a PJ64 only isolated incident. Moving to General N64 Emulation Discussion. Please think carefully when creating a thread people ask yourself a question: is this Pj64, 1963, Nemu64, Mupen64 etc related only. If the answer is yes then post in that forum, if it is something like Rices plugin on PJ64 then as confusing as it is, that goes in the 1964 Forum as rice releases the plug from there :).

Now as for Sir Camehan: i wish you the best in your efforts it is always nice to see people trying to better the N64 Emulation scene, all the best with that. olivieryuyu: You did seem to come off very Well these say this so you are a fibber give of attitude :) but people can make mistakes by assuming and remember even the most Sceptics are proven wrong :) thats what i adore about Emulation. I have a Phrase for the EMu Scene "Expect The Unexpected! the emu scene will suprise you"

Anyway Moving.
 
Last edited:

Sir Camehan

New member
I have put up some screenshots in the "screenshot submission" part of the Emutalk forum of my current progress. I know that the progress is extremely slow, but in the long run it will be worth it in the very end when I finally give out a public beta. This plugin project is the very least of my priorities, as I have very limited spare time. But the effort put into it during my spare time will shine through. For instance the 1st level of Star Wars Rogue Squadron runs almost perfectly, with no graphics glitches. It took forever to get the 3D models rendered correctly, and there is a resolution detection issue in my plugin that really needs to be fixed, as it is a critical issue.

My future plans for the plugin are:

* A complete rewrite into a low-level core (this would probably happen in about 5-6 years, if I continue with this work)
* Custom SmartShader support (for ATI users)
* High resolution texture loading/dumping
* A DirectX9 combiner (it is currently a OpenGL 1.4 & 2.0 combiner)
* Post-process filter shader support for NVIDIA cards (like cel-shading)
* Emulation of the games created by Rare (since I love their N64 games)
* Faster framebuffer effects
 

Top