Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Detection of emulator   Message List  
Reply | Forward Message #13448 of 15019 |
Re: Detection of emulator

--- In gbadev@y..., Pete Gonzalez <gonz@r...> wrote:
> Does anyone have code for detecting the presence of an emulator?

Easy.

dir /s /b \visualboyadvance.exe

Oh, you mean you want the GBA program to detect which GBA model
or emulator it's running on. In other words, you seek emulation
inaccuracies visible to the running program. I can think of two
reasons why you'd want to do this:
1. to present a simplified display to compensate for slow
computers or inaccurate but popular emulators, or
2. to discourage unauthorized redistribution of proprietary
game software.

Theoretically, it should be impossible for game console software
to determine whether it's running on Nintendo brand hardware or
Gateway brand hardware. As emulators mature, the simple tricks
used to distinguish environments begin to fail. For example, in
the early days of NES emulation, four lines of 6502 code could
distinguish the popular emulators from the Nintendo hardware (see
http://everything2.com/?node=nesticle). But now, as NES emulators
have matured, it's much harder for NES code to tell where it's
running.

I don't really know where the GBA emulators stand on inaccuracies
visible to the running program, but I do know some things about
recent builds of VisualBoyAdvance:
* tone generator volumes are wrong in some cases, and envelopes
aren't smooth enough
* a busy loop in ROM or EWRAM runs two to three times faster on
VBA than on hardware because VBA doesn't emulate wait-states
except in DMA
* default keyboard binding puts A to the left of B, which
causes confusion in games that bind "fire left" to B and
"fire right" to A, such as Lode Runner and Paperboy
* out-of-order writes to affine registers have some slight bugs
on hardware but not on VBA; I haven't characterized them yet
* GBA buttons A and B are bouncy; DirectX buttons aren't

Also try looking at initial values of readable registers that
may be set differently by the Nintendo release BIOS vs. the
clone BIOS built into an emulator.

--
Damian





Fri Dec 6, 2002 7:24 pm

yerricde
Offline Offline
Send Email Send Email

Forward
Message #13448 of 15019 |
Expand Messages Author Sort by Date

Does anyone have code for detecting the presence of an emulator? Thanks, -Pete...
Pete Gonzalez
gonz1242
Offline Send Email
Dec 6, 2002
4:52 pm

PG> Does anyone have code for detecting the presence of an emulator? under boycott advance DMA copy from null adress gives 0xFFFF and 0x0000 on real hw. ...
porneL
pornelkurna
Offline Send Email
Dec 6, 2002
6:41 pm

... Easy. dir /s /b \visualboyadvance.exe Oh, you mean you want the GBA program to detect which GBA model or emulator it's running on. In other words, you...
yerricde
Offline Send Email
Dec 6, 2002
7:36 pm

... You hit the nail on the head with this article. Indeed if what you are doing is looking for inaccuracies in emulation, then as emulation improves, the...
Graham Toal <gtoal@...>
graham_toal
Offline Send Email
Dec 13, 2002
4:00 pm

... This works pretty well. It has to be run from RAM, of course. detectGBA: ;returns 0 if emulated mov r0,#0 str r0,_0 _0: mov r0,#1 mov pc,lr ... ...
Neal Tew
x4344739
Offline Send Email
Dec 6, 2002
11:01 pm

... Heh ;-) ... Nah, if I wanted #2 I wouldn't be discussing it in a public forum. ;-) Actually our code can compensate for the (horribly flawed) gamma on the...
Pete Gonzalez
gonz1242
Offline Send Email
Dec 7, 2002
3:55 am

... something that works the same on gb/gbc/gba and can detect any known emulator of these systems is to check the voice 3 userdefined waveform.... i dont ...
Groepaz
groepaz2000
Offline Send Email
Dec 7, 2002
11:25 am

Maybe it would be easier to approach this from a different angle. Since you say that you are not attempting to achieve #2 then I assume that your program will...
Phantasm
phantasm4489
Offline Send Email
Dec 7, 2002
2:13 pm

... Thanks, that was exactly what I needed. ;-) Cheers, -Pete P.S. His code works by overwriting the next instruction with a NOP. On a real CPU, the old...
Pete Gonzalez
gonz1242
Offline Send Email
Dec 7, 2002
10:15 pm

I don't know how they could force an emulator to use a copyright protection because the program doesn't aid in copying anything. Plus it's just doing the job...
TJ
treyjazz2k2
Offline Send Email
Dec 14, 2002
4:51 pm

... Well, this is rock-solid for home devving, but it'll not work for commercial software, because the extracode mechanism will be well-known for public (i.e....
Ped
ped_7g
Offline Send Email
Dec 15, 2002
10:42 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help