It is currently Fri Oct 20, 2017 2:07 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Sun Dec 04, 2005 10:44 pm 
Offline

Joined: Wed Nov 23, 2005 11:30 am
Posts: 13
What language do I need to know how to build my cheater check rom? I have downloaded nesasm and i compiled a source file and it worked.

I am going to try to tackle this cheating problem on the rom side of things cause I think making an emulator to do all of this would be too hard.

_________________
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 7:15 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19104
Location: NE Indiana, USA (NTSC)
6502 assembly language


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 3:19 pm 
Offline
User avatar

Joined: Sun Jun 05, 2005 2:04 pm
Posts: 2130
Location: Minneapolis, Minnesota, United States
Happy 600th post tepples!

Sorry, I don't know how you'd do such a thing. I'm not too sure about what your doing, so, yeah. I think if I read that one topic a little while back that you started about this, I'd understand.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 4:00 pm 
Offline

Joined: Wed Nov 23, 2005 11:30 am
Posts: 13
Celius wrote:
Happy 600th post tepples!

Sorry, I don't know how you'd do such a thing. I'm not too sure about what your doing, so, yeah. I think if I read that one topic a little while back that you started about this, I'd understand.


No problem sir, I think it boils down to creating a rom to show how fast the A button is being pressed on both controllers. If it goes over a certain "presses per second", then that means they are cheating.

I think there might have been a track and field game that did this, like if you were running to fast it would disqualify you. Anyone heard of that?

_________________
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 4:31 pm 
Offline

Joined: Wed Nov 23, 2005 11:30 am
Posts: 13
I found this online about Track and Field:

Quote:
Full Power Cheat:
This one if rather obvious. Play the game using a turbo controller
and you'll be have no problem raising speed/power. Just don't think
you're gonna fool your friends because "USING CHEAT" will appear
above your power meter. Read the note below for precautions.


So it is possible, I just have to figure out how to do it :)

_________________
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 5:39 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
Search for "Joypad Test Cartridge (U).nes" for one that displays little bargraph meters showing the turbo rate of A and B. I bet this could be easily modified to skip the main menu so it goes directly to the turbo rate screen.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 6:20 pm 
Offline

Joined: Wed Nov 23, 2005 11:30 am
Posts: 13
blargg wrote:
Search for "Joypad Test Cartridge (U).nes" for one that displays little bargraph meters showing the turbo rate of A and B. I bet this could be easily modified to skip the main menu so it goes directly to the turbo rate screen.


Wow! That rom is cool! I could barely get two lines on the meter. I thought I was a fast tapper too.

That would be perfect. How easy do you think this could be? I really appreciate your help everyone.

_________________
Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 05, 2005 6:33 pm 
Offline
User avatar

Joined: Sun Jun 05, 2005 2:04 pm
Posts: 2130
Location: Minneapolis, Minnesota, United States
You COULD do a vblank timed code. Like say here:
Code:
nmi:
   inc VblankCount
   jsr stuff
   ...

stuff:
;This is around 1 second. I know it's needs to be at least 64 Vblanks to initiate,
;But that's not far from a second.

   lda VblankCount
   lsr a
   bmi SeeIfCheating
   rts

SeeIfCheating:
;Okay, here we are saying if A was pressed more than
;4 times
   lda AButtonPressedFlag
   asl a      ;Multiply by 2
   asl a      ;Multiply by 4
   asl a      ;By 8
   asl a      ;By 16
   asl a      ;By 32
         ;If A was pressed 4 times, AButtonPressedFlag (Which you increment every button press) will equal
         ;00000100 in binary
         ;shift right 5 times
         ;If it was pressed 4 times, it will equal 10000000, which means bit 7 is set!
   bmi CHEATING!
        lda #$00
        sta VblankCount
        sta AButtonPressed
   rts

CHEATING!:
   ;Whatever code saying that they are cheating.


There are other ways you could do this, but this is just one method. And about the AButtonPressedFlag, you want a system so that if A is pressed and held, it won't increment it more than once. I use a method where I see in my NoKey routine, I store #$00 in AButtonPressedFlag, BButtonPressedFlag, etc. Which are variables for checking if A or B is being held. Here, look:

Code:
Akey:
   lda ADown
   bmi +
   dec ADown   ;Make #$FF! Set Bit 7!
        inc AButtonPressedFlag    ;What you'd want to do.
+   ....
   rts

   ...


Nokey:
   lda #$00
   sta ADown
   ....
   rts

And it should work. I'm sorry if I'm confusing. I'm just trying to help...


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 06, 2005 12:39 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:59 pm
Posts: 1389
http://www.qmtpro.com/~nes/demos/turbochk.zip

Includes iNES and UNIF builds, as well as source code. Has not yet been tested with nesticle, though it'll probably work just fine.

_________________
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group