[GBA] Classic NES Series Anti-Emulation Measures

You can talk about almost anything that you want to on this board.

Moderator: Moderators

ccovell
Posts: 1041
Joined: Sun Mar 19, 2006 9:44 pm
Location: Japan
Contact:

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by ccovell »

Wow, Loopy, I didn't know you did this kind of engineering. Very cool.

Got any adaptors that output 15khz RGB? (Y'know, simply for playing games?) :-D
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by mikejmoffitt »

Loopy, do you have any timing information you'd be willing to share? Any chance of the LCD being pretty close to NTSC already? I've been on an FPGA high recently, making capturers / line doublers for classic consoles that expose a pixel bus, but if the 3DS could use something more direct (like throwing a DAC onto the parallel LCD interface) that would be nice.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by tepples »

The DS master clock is probably supposed to be 2^25 = 33554432 Hz. According to GBATEK, it generates one dot every 6 clocks (5.592 MHz), one line every 355 dots (15753 Hz), and one frame every 263 lines (59.89 Hz). These timings are very close to the System M on which NTSC and arcade standard resolution are based, and the pixels through a supergun would be wider than square pixels (135/22=6.136 MHz) but not as wide as NES/SNES pixels (945/176 = 5.369 MHz).

That covers the top screen on the original DS, DS Lite, and presumably DSi, but adding the touch screen to the video output would still need a frame buffer.
User avatar
loopy
Posts: 403
Joined: Sun Sep 19, 2004 10:52 pm
Location: UT

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by loopy »

The LCD timing is not NTSC friendly on the 3DS, you'd need a frame buffer. It's rotated 90 degrees (scanned bottom to top, left to right).
User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by mikejmoffitt »

tepples wrote:The DS master clock is probably supposed to be 2^25 = 33554432 Hz. According to GBATEK, it generates one dot every 6 clocks (5.592 MHz), one line every 355 dots (15753 Hz), and one frame every 263 lines (59.89 Hz). These timings are very close to the System M on which NTSC and arcade standard resolution are based, and the pixels through a supergun would be wider than square pixels (135/22=6.136 MHz) but not as wide as NES/SNES pixels (945/176 = 5.369 MHz).

That covers the top screen on the original DS, DS Lite, and presumably DSi, but adding the touch screen to the video output would still need a frame buffer.
Interesting, it looks like that is indeed very close to NTSC timings for the DS. Perhaps something can be done there, then.

Loopy, do you think they are using LCDs that were originally designed for some other device that normally operated in portrait mode? The only other device that I've been aware of scanning in that way is the Dingoo A320, which uses an LCD designed for a flip phone.
User avatar
loopy
Posts: 403
Joined: Sun Sep 19, 2004 10:52 pm
Location: UT

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by loopy »

They might have gone that way because of how the 3D is drawn (alternating left/right pixels horizontally).
Drag
Posts: 1350
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by Drag »

The GP32 had a similarly rotated screen; the framebuffer in memory represented a 240x320 screen that was physically rotated 90 degrees to the left. This stuff does indeed happen. :P
Asaki
Posts: 81
Joined: Sat Jun 16, 2007 11:55 pm

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by Asaki »

ccovell wrote:Got any adaptors that output 15khz RGB? (Y'know, simply for playing games?) :-D
That would be awesome.

There's this, if you haven't tried it: http://community.arcadeinfo.de/showthre ... l-Overview

I've only tried it on one machine, and it said the drivers weren't supported. I'm going to have to try it on a desktop sometime soon. I have no way to hook up RGB to an analogue television, though, and it looks like that is a requirement.

Also, back to the original topic, there are IPS patches somewhere (they were very difficult to find) that defeat the copy protection. I used them to run the games on a GBA flash cart.
tepples wrote:I believe N used the same method as PocketNES, where every four lines of background are compressed to three through temporal AA (lines 0, 1, 3 in even fields and lines 0, 2, 3 in odd), but some problematic tiles are modified to look better at 8x6.
Yeah, same thing as PocketNES, I seem to recall Flubba mentioning at one point being upset that Nintendo stole his idea.

Every tile is redrawn (not sure if by hand, or if they used a program), not just the problematic ones. You can hack the graphics into the original NES ROM and load it into PocketNES, set the graphics to "scaled BG, unscaled sprites" (I think) and it'll look the same.
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by Dwedit »

Nintendo didn't just use the PocketNES scaling method, they patented it after seeing it in action.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
zzo38
Posts: 1080
Joined: Mon Feb 07, 2011 12:46 pm

Re: [GBA] Classic NES Series Anti-Emulation Measures

Post by zzo38 »

Drag wrote:Nintendo clearly wanted to help GBA emulation become more accurate by subtly suggesting a couple of things that needed to be improved upon. Clearly.
Yes, it may be an internal conspiracy I think that is some of what happens. It is probably not the only reason though; rather someone suggested such thing to cause it to be more difficult, even though they want to improve the emulation in a same way too.
[url=gopher://zzo38computer.org/].[/url]
Post Reply