Page 1 of 1

Cheater Check ROM Project

Posted: Sun Dec 04, 2005 10:44 pm
by sois
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.

Posted: Mon Dec 05, 2005 7:15 am
by tepples

Posted: Mon Dec 05, 2005 3:19 pm
by Celius
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.

Posted: Mon Dec 05, 2005 4:00 pm
by sois
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?

Posted: Mon Dec 05, 2005 4:31 pm
by sois
I found this online about Track and Field:
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 :)

Posted: Mon Dec 05, 2005 5:39 pm
by blargg
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.

Posted: Mon Dec 05, 2005 6:20 pm
by sois
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.

Posted: Mon Dec 05, 2005 6:33 pm
by Celius
You COULD do a vblank timed code. Like say here:

Code: Select all

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: Select all

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...

Posted: Tue Dec 06, 2005 12:39 am
by Quietust
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.