What's new

N64 Glide Plugin

Status
Not open for further replies.

Smiff

Emutalk Member
just a suggestion, get away from the numbered uCodes and use the real names (RSP SW 2.0x etc) as soon as possible, while the compat. is small, this way you won't have as much to redo later, and you'll be able to use PJ64 as a reference.

2nd point, definately use a redistributable file rather than the registry so someone who knows what they're doing (but not Dave) can manage it. Put known references into the plugin and use the INI when an unknown CRC is encountered. Every so often, you add the confirmed references to the plugin and reset the INI, and so on.
 

Ogy

3Dfx Fanatic.
Smiff said:
just a suggestion, get away from the numbered uCodes and use the real names (RSP SW 2.0x etc) as soon as possible, while the compat. is small, this way you won't have as much to redo later, and you'll be able to use PJ64 as a reference.

2nd point, definately use a redistributable file rather than the registry so someone who knows what they're doing (but not Dave) can manage it. Put known references into the plugin and use the INI when an unknown CRC is encountered. Every so often, you add the confirmed references to the plugin and reset the INI, and so on.


umm.. who are you referring to smiff? dave?
 
OP
Dave2001

Dave2001

Moderator
Yes, but they must be numbered in some way, because it needs an instruction table index. I will probably switch the config dialog to the name, but on the inside it still needs numbers.

This is what it is:
gfx_instruction[settings.ucode][rdp.cmd0>>24] ();

What, should I do:
gfx_instruction["RSP SW 2.0x"][rdp.cmd0>>24] ();

See the problem?
 

Cyberman

Moderator
Moderator
Dave2001 said:
Yes, but they must be numbered in some way, because it needs an instruction table index. I will probably switch the config dialog to the name, but on the inside it still needs numbers.

This is what it is:
gfx_instruction[settings.ucode][rdp.cmd0>>24] ();

What, should I do:
gfx_instruction["RSP SW 2.0x"][rdp.cmd0>>24] ();

See the problem?

Well if rdp.cmd0 is a 32 bit entity >> 24 leaves you 256 possible codes (if they are all used) you can create an enumerated data type with each possible code identified in it (instead of the uCode sets). I think that's what he was refering too. :)

Might be wrong though... it's happened before!

Cyb
 

Smiff

Emutalk Member
yeah of course, it's just that there are several uCodes to each common number, e.g. many plugins would call Zelda and Doom "3", even though Zelda is using a custom uCode. Not sure how much this matters, I haven't exactly thought this point through :p but somewhere here there is a point. Depends how far ahead you want to plan :p Anyway, the 2nd half of my post was better.
 

Ogy

3Dfx Fanatic.
from glide64 website:
Ogy has created a compatibility list for Glide64! It includes game name, ucode, and comments.
Download it here!

i think you should put the zip file there and not the txt, because if you rightclick and choose "save as" it screws the file.
 
OP
Dave2001

Dave2001

Moderator
Ok, I'm also changing the filename so that it's one word, and shorter, just to avoid problems.
 

Quvack

Member
I think ini would be the best way to go, because people who dont know much about *.reg files might go to run an un-offical one which could destroy some windows settings and thats not fun to fix :p

Ini is a safer system for what you want to do, and makes it easier in the long run I think for a few reasons.
 
OP
Dave2001

Dave2001

Moderator
Development on Glide64 is almost at a complete halt. I can get things working if I know what the n64 is trying to do, but when I don't even know what the n64 is trying to do, it's impossible for me to get anywhere. I asked many emu coders about my lr and ul problems, but nobody seems to know anything about them! It's not something wrong with my plugin, I don't even understand what the n64 is trying to do! :cry:

Ok, as a start, can ANYBODY tell me what the n64 is trying to do here? (as in load a texture of __ size, __ offset [if any]) I just need a general description with numbers! (by the way, this was taken out of a log from tetrisphere)

0026b888: settextureimage: format: RGBA, size: 16bit, width: 320, addr: 003da800
0026b890: settile: tile: 7, format: RGBA, size: 16bit, line: 16, t_mem: 00000000, palette: 0, clamp_t/mirror_t: CLAMP, mask_t: 0, shift_t: 0, clamp_s/mirror_s: CLAMP, mask_s: 0, shift_s: 0
0026b898: loadsync - ignored
0026b8a0: loadtile: tile: 7, ul_s: 0, ul_t: 120, lr_s: 252, lr_t: 236
0026b8a8: pipesync - ignored
0026b8b0: settile: tile: 0, format: RGBA, size: 16bit, line: 16, t_mem: 00000000, palette: 0, clamp_t/mirror_t: CLAMP, mask_t: 0, shift_t: 0, clamp_s/mirror_s: CLAMP, mask_s: 0, shift_s: 0
0026b8b8: settilesize: tile: 0, ul_s: 0, ul_t: 120, lr_s: 252, lr_t: 236
0026b8c0: settilesize: tile: 0, ul_s: 0, ul_t: 0, lr_s: 2016, lr_t: 928
0026b8c8: texrect (0, 30, 63, 59), tile: 0, cmd2: 00000000, cmd3: 04000400
 

euphoria

Emutalk Member
Could someone explain to me how exactly ucodes work? I know that ucode stands for microcode, and the rsp/rdp(?) contains 8-bit instruction set, but does it contain 'number of ucodes' * '256' sized "table" or does the rom's ucode change something inside the processor. If i've understood correctly Zelda roms have a ucode of their own. Then something must be "uploaded" to the processor? And why zeldas are the only ones to use their own ucode? I'm probably totally lost here...
 
OP
Dave2001

Dave2001

Moderator
Hey, just out of curiosity, is uCode an abbreviation for microcode (u as in micro, like the prefix)?
 
OP
Dave2001

Dave2001

Moderator
Anyway, if nobody answers my Starfox water problem, Starfox won't even be supported in the next version. :cry: Look a few posts back (NOT the tetrisphere post [the one with actual code]), it's the one about the ul and lr coords. SOMEBODY must have gotten it working, and if so, they must know what the N64 is trying to do. NOBODY WILL EXPLAIN TO ME THOUGH!!!!

Please note, the UL and LR coords there had not yet been converted to 10.2 format. The coordinates in 10.2 format would be:

ul_s = 0
ul_t = 12 (changes)
lr_s = 31
lr_t = 31
 

crhylove

Banned
dave...

i totally dig the way you conduct business. wish i knew more about the inner workings of the n64. unfortunately all of my knowledge is theoretical, and in unrelated fields.

keep on truckin' brutha.
:devil:
 

gokuss4

Meh...
dude you guys this is way serious, star fox has a problem with its water right now and dave needs help so can anyone help him?
 
Status
Not open for further replies.

Top