Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #1  
Old 11th July 2014, 06:54 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default Some EmuTalk thread I can't reply to

http://www.emutalk.net/threads/55129...ator-reference

lol I'm still banned on EmuTalk, still proud of it, still not going to create a new account to bypass it

But there is one thing I want to address (or at least rant about) from this thread.
I would say that about 95% of the "real n64 screenshots" in that collection are, while certainly correct/accurate, potentially misleading. First, they are all taken from various TVs that do various methods of scaling the 640x240 image DAC'd from the VI to whatever scanning/filtering the TV does. Second, he specific this:
Quote:
As I work on the Rice Color Combiner (mupen64plus), I try to mimic some N64 effect that was hard to do before and are now easier using GLSL.
It is a fascinating objective (and certainly something Rice's color combiner needs) but it doesn't need anything from the VI filters which are impertinent to the actual rendering of the graphics.

The best way to get "real N64 screenshots" for the sole analysis of rendering before the intervention of blurring/interlacing of VI filters is to dump RDRAM 4/8 MB from n64, then jump VI_ORIGIN_REG offset into dram and read these pixels out as a 16- or 32-bpp image format of some kind. My fork of angrylion's plugin already has this feature implemented internally except it uses emulated RDRAM not physical real RDRAM from actual system, but there have been no RDP bugs of notice to anyone.
Reply With Quote
  #2  
Old 11th July 2014, 11:06 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

onice, cross-forum posting!

Quote:
Don't get me wrong, I don't try to reproduce VI filter stuff but mainly weird effect of the Color Combiner and Blender (alpha blending, alpha cutof/noise/dither, etc...).
Yes, so for these RDP-related things I would continue to prefer the method which I described, as the video frame drawn by the RDP is still stored in n64 DRAM at the offset specified by VI_ORIGIN_REG.

Quote:
Have you heard anyone using a such technique? I would be interested by the results.
In essence, anybody who has ever used a GameShark or Action Replay [Pro] cart to take screenshots of n64 games has used such a technique. The problem however with using a GameShark is that it appears to interfere with the 16-bit R5G5B5 pixel storage in the resulting bitmap and stores it as a 24-bit-per-pixel with some slightly off colors--those which would not possibly be stored into RDRAM. Instead, I recommend using a GS/AR to dump the RDRAM and get the screenshot from that using something like Dextrose tools or LemAsm to analyze the RDRAM in R5G5B5 pixel mode, or a 64drive possibly if you're a homebrew developer.

Actually I got someone to take RDRAM screenshots using a GameShark pro and I compared it to the results of this plugin. The results:

With enough camera repositioning I was able to rule out the TC division differences as a matter of Mario's viewpoint.

I've also analyzed other RDRAM dumps of n64 frame buffer sent by RDP, and hex-edit compared their exact bitmaps to the ones my plugin logs as screenshots. They are an exact match, so there is no longer a need to use a real N64 to get pixel-accurate screenshots.
Reply With Quote
  #3  
Old 12th July 2014, 02:45 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Thanks for the informations. Impressive screenshot, which one are from your plugin and wich one are the original? Top left/Bottom right and Top right/Bottom left seems to be the same.
Top-left, bottom-right ones both have 71 stars and are from real N64 cart and save.

The emulated screenshot is bottom-left and top-right. I just put identical screenshots diagonally adjacent for easier cross comparison.

Again, in certain ways they appear different, but that's because I only use a keyboard to play my games and wasn't able to align Mario's POV to what the N64 screenshot used. All the dither patterns and TC LOD/div etc. will eventually match up.

Quote:
Do you have other screenshots like this? From other N64 games? Maybe less know or known to have some troubles with HLE? Extreme G, Mace the Dark Age, Jet Force Gemini, Excitebike 64, Donkey Kong 64, Armorines etc...
No, none of those. I only asked for real N64 screenshots for games that I felt would help certify that angrylion's RDP emulation was pixel-accurate and that using a real N64 for perfect screenshots would no longer be necessary.

Here's one I got from somebody's Mario64 (J) cartridge they bought:


Again, I used simple hex editor features to compare this true n64 screenshot, to the bytes in the bitmap logged by my fork of angrylion's plugin, and all bytes were a perfect match. So every pixel is correct.

I also did Virtual Chess 64 somewhere which uses a 640x474 frame buffer active video...well wherever I put the real N64 screenshot, it was also an exact match per byte.

So rather than go through the hassle of a GameShark or 64drive to take screenshots, why not just get them through an emulator if the pixels are still as correct?
Reply With Quote
  #4  
Old 12th July 2014, 08:54 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Unrelated to the discussion at ET I made this thread for but...

Quote:
Originally Posted by http://www.emutalk.net/threads/55131-Getting-Majora-s-Mask-to-true-16-9?p=453303#post453303
AFAIK, not all games work with the 16:9 aspect ratio no matter what you do. After all, the N64 was strictly limited to 4:3.
It's reading posts like this that make me kick back and relax at the fact that I'm banned from posting there.

Last edited by HatCat; 12th July 2014 at 08:57 PM.
Reply With Quote
  #5  
Old 13th July 2014, 01:34 AM
ExtremeDude2's Avatar
ExtremeDude2 ExtremeDude2 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Apr 2010
Location: USA
Posts: 3,116
Default

hahahahahahah *hugs dk64*
__________________
Quote:
Originally Posted by dsx! View Post
are you american or something
Reply With Quote
  #6  
Old 13th July 2014, 03:21 PM
run of the mill twat run of the mill twat is offline
Member
 
Join Date: Apr 2014
Posts: 38
Default

yeah the "real n64 screenshots" thread is literally cancerous
Reply With Quote
  #7  
Old 13th July 2014, 07:12 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by ExtremeDude2 View Post
hahahahahahah *hugs dk64*
Copy how to get good games from the PS3, because right now your carts collection is even shittier than that is.

Quote:
Originally Posted by run of the mill twat View Post
yeah the "real n64 screenshots" thread is literally cancerous
It ain't got gaymez!

haha yeah man ikr and then that dsx guy was like WOOOOOOOOOOOOOO omg these are so sexy!

When ED can't get his paperz straight! He thinks those are "RDRAM dumps" ... that GameShark just assumes a height of 237 pixels EVERY DAY . EVERY DAY .
Reply With Quote
  #8  
Old 14th July 2014, 04:24 AM
dsx_ dsx_ is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2010
Location: Australia
Posts: 1,105
Default

Reply With Quote
  #9  
Old 14th July 2014, 04:59 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

https://www.youtube.com/watch?v=q26F34NuiRw
Reply With Quote
  #10  
Old 16th July 2014, 08:11 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by zoinkity
Hardware screenshots won't necessarily match what is displayed in the way you think they will. For instance, the easiest HW screenshot method would be to rip one of the frame buffers. That's the method used for all GameShark screenshots, but the issue is only one of the buffers is displayed at a time.
yea? It's called (multi)-buffering

We're not supposed to worry about the extraneous frame buffers, just the one pointed to by VI_ORIGIN_REG. And GameShark screenshots screw up the colors with some sort of gamma bias from what was originally sent from the RDP's renderer; these pixels cannot possibly be 16-bit ones so I don't like using the direct GS feature. With RDRAM dumps you can see ALL of these excessive frame buffer altneratives you seem interested in.

Quote:
Originally Posted by zoinkity
So, the seemingly easiest pixel-perfect method--reading the pixels being sent for display--will not give you a pixel-perfect image of what is expected to be displayed. Minimally, you need to read as many unique frame buffers in a row (which is usually 1 or 2) and layer them. This is rather similar to the way certain debug tools accidentally left in commercial titles work, except they give you the option of flipping into 32bit output mode.
https://www.youtube.com/watch?v=oIJ4APeqpeY

Quote:
Originally Posted by Narann
What I mean is a lot of N64 picture over the internet are poor or use emulators (or both) so I can't use them as a reference. As I don't have any n64 hardware here, I'm not able to say if what I see on my plugin is what I'm suppose to see on real hardware. ...That's why high quality (even CRT) screenshot, help you a lot to realize if you are emulating the thing the good way.
I don't follow. So, high-quality screenshots are more valuable than native RDP graphics screenshots, but screenshots from emulators can't be used as a reference? Implying that the use of an emulator automatically disqualifies the legitimacy of an accurate screenshot to you, almost as badly as JPEG image format. If you can't trust a pixel-accurate emulator, then why trust only other people's TV screenshots rather than use/buy your own N64?

I'm not trying to self-endorse what I've done or anything, because this really is angrylion's work, not mine. Getting a 100% exact screenshot to what the N64 RDP reads to the frame buffer is as easy as hitting F3 in Project64 with my fork of his plugin; there's no need for using a camera to photograph TVs. I have not implemented CRT-specific filters to his plugin, though, but those aren't generally helpful for debugging the RDP like you wanted anyway. :/
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 01:27 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.