Sonic and Sega Retro Message Board: Checksum Check = Bad - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Checksum Check = Bad Fuzzbuzz's fix = Good

#1 User is offline fuzzbuzz 

Posted 09 June 2004 - 12:22 AM

  • Posts: 625
  • Joined: 13-November 03
  • Gender:Male
  • Location:Here
  • Project:Many Many Programming/hacking tools...
Ah, you little rom hacking people I really don't know that well because I only see you as a typed name....anywho, on to my sales speech:

Have YOU ever made a rom hack?
Have you ever released one to the public?
Have you ever been bombarded with questions or concerns on how just a 'red screen' comes up, because you forgot to change the checksum?
Tired of telling them to turn on auto fix checkum in Gens?

Well, if you're tired of that, then just follow these simple steps and you're safe to release your hacks to the public. That's right, disabling the checksum check.

Easy, just follow this simple step.

Sonic 1 - Change $33A to $4E $71 $4E $71
Sonic 2 - Change $346 to $4E $71 $4E $71

Happy Birfday. Make hacks and give them to people now where they won't be confused why you changed the sega logo to a red screen that lasts indefinately.


FINITO

#2 User is offline Rarmander 

Posted 09 June 2004 - 12:24 AM

  • Poetaster
  • Posts: 1916
  • Joined: 05-May 04
  • Gender:Male
  • Location:Winter Park
  • Project:Poetry
  • Wiki edits:1
This is imformative and I think it should be pinned. Anyone else concur?

#3 User is offline Skaarg 

Posted 09 June 2004 - 12:29 AM

  • Posts: 3682
  • Joined: 09-December 03
  • Wiki edits:4

Rarmander, on Jun 9 2004, 12:24 AM, said:

This is imformative and I think it should be pinned. Anyone else concur?

NOT UNTIL HE SPELLS BIRTHDAY RIGHT!!! :P Anyways thankyou very much for this info. I'll defianatly use this in my hack as soon as I start understanding hex a little bit more.

#4 User is offline Quickman 

Posted 09 June 2004 - 01:47 AM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10

Quote

Have YOU ever made a rom hack?


Yes.

Quote

Have you ever released one to the public?


Not yet.

Quote

Have you ever been bombarded with questions or concerns on how just a 'red screen' comes up, because you forgot to change the checksum?


*cough* *cough* *splutter* *hack* *pukes phlegm all over fuzzbuzz*

Quote

Tired of telling them to turn on auto fix checkum in Gens?


YES, ESPECIALLY WHEN THERE'S A PINNED TOPIC ABOUT IT. <_<
This post has been edited by Quick Man: 09 June 2004 - 01:48 AM

#5 User is offline drx 

Posted 09 June 2004 - 07:30 AM

  • <Shade> fuck MJ
  • Posts: 2119
  • Joined: 02-March 04
  • Gender:Male
  • Project::rolleyes:
  • Wiki edits:8
I always use this method =P

#6 User is offline JoseTB 

Posted 09 June 2004 - 01:35 PM

  • Posts: 623
  • Joined: 01-June 04
  • Location:Spain
  • Wiki edits:4
More games to add: (use the same way,2 nop, or 4e 71 4e 71)

$33a-Sonic 1 jap
$249be- Sonic & knuckles
$249be -Sonic 2K
$249be -Sonic 3K
$249be -Sonic 1K (special stages)
$22fc4- Sonic 3

These offsets are correct,and yes,I said 249be four times.

#7 User is offline drx 

Posted 09 June 2004 - 03:33 PM

  • <Shade> fuck MJ
  • Posts: 2119
  • Joined: 02-March 04
  • Gender:Male
  • Project::rolleyes:
  • Wiki edits:8
It's because all those SK lock-ons are SK roms with other games data =P By the way, I don't know why there is a subroutine for checksum checking (why it isn't built-in in hardware).

#8 User is offline JoseTB 

Posted 09 June 2004 - 04:05 PM

  • Posts: 623
  • Joined: 01-June 04
  • Location:Spain
  • Wiki edits:4

drx, on Jun 9 2004, 03:33 PM, said:

It's because all those SK lock-ons are SK roms with other games data =P

I know,probably the only difference between the lock on different roms is some value in a routine that tell to jump to different part of code

drx said:

By the way, I don't know why there is a subroutine for checksum checking (why it isn't built-in in hardware).

Probably is only for internal sega security,to not allow to somebody modify the rom without permission when they are developing.

#9 User is offline LocalH 

Posted 10 June 2004 - 08:32 PM

  • roxoring your soxors
  • Posts: 3147
  • Joined: 11-January 03
  • Gender:Male
  • Location:wouldn't you like to know
  • Project:MDEM - Genesis programming stufz
  • Wiki edits:3

JoseTheBest, on Jun 9 2004, 04:05 PM, said:

drx, on Jun 9 2004, 03:33 PM, said:

It's because all those SK lock-ons are SK roms with other games data =P

I know,probably the only difference between the lock on different roms is some value in a routine that tell to jump to different part of code

Well, it works completely differently in hardware, and so far is only properly emulated by having different combined ROMs. What happens is, when you lock on S2, it shows up at $200000 (S&K is always at $000000 of course). Also, a 'hidden' 256K ROM containing the S2&K game logic appears at $300000, and the S&K code jumps to $300000. When you lock on S3, it appears at $200000, and the hidden ROM doesn't appear at all, since S3 fills up the rest of the Genesis' addressable ROM space. And when you lock on S1 or (most) any other game, it jumps to the blue spheres game, although the game you get with S1 is different from what you get with any other cart.

This is why merely combining the ROMs works with any emulator, and indeed the combined ROMs would work correctly when copied onto a flashcart or used with a backup device. For ages, the existence of the hidden 256K ROM was not known, and it was felt that S2&K emulation would require emulator modification.
This post has been edited by LocalH: 10 June 2004 - 08:34 PM

#10 User is offline JoseTB 

Posted 11 June 2004 - 09:12 AM

  • Posts: 623
  • Joined: 01-June 04
  • Location:Spain
  • Wiki edits:4
I remember I read that in the old ssrg.Anyway,nice stuff.I maybe try to see how it works,now I know 68k (Because when I read it I didn`t know nothing about 68k).

#11 User is offline Tom41 

Posted 12 June 2004 - 01:55 PM

  • Pheer the baby EggRobo!
  • Posts: 291
  • Joined: 18-August 03
  • Gender:Male
  • Location:UK
I often use a Game Genie to change the country lock on my carts from E to U - therefore my EU carts will run on my EU MD2 in 60hz mode.
(Modding to make it run in 60hz also changes the console region to U)
But on some games, that causes a checksum failure so some form  of Master Code is needed to make the game start up.

4E 71 translates to Nq in ASCII, and that's an instruction which basically means 'do nothing'. So instead of coming across the instruction which makes the game run its checksum routine, it just skips over that and goes onto the next bit of code - almost like commenting out source code, but with the binary ;)

I've never come across a Red Screen problem when using Game Genie codes on Sonic 1/2 on the real console, but I have had it so the game doesn't even get to the SEGA screen (freezes on black screen) unless I have the code switch disabled when it starts up. Is this a checksum problem? (If so, thanks for the checksum fix code :()

I know this isn't really Sonic related, but I'm sure other games have a 'magic' location which you can NqNq out, to bypass the checksum protection. How easy is it to find this?

#12 User is offline Quickman 

Posted 12 June 2004 - 03:24 PM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10

Tom41, on Jun 12 2004, 06:55 PM, said:

How easy is it to find this?

Look for a reference to ($18E).l followed by a branch (6xxx).
This post has been edited by Quick Man: 12 June 2004 - 03:24 PM

#13 User is offline JoseTB 

Posted 12 June 2004 - 04:34 PM

  • Posts: 623
  • Joined: 01-June 04
  • Location:Spain
  • Wiki edits:4

Tom41, on Jun 12 2004, 01:55 PM, said:

4E 71 translates to Nq in ASCII, and that's an instruction which basically means 'do nothing'.

4e 71 means a "nop" in 68k.I donīt like call an instruction by the ascii representation,because thatīs only a coincidence,and actually Nq is nothing.

Quick Man said:

Look for a reference to ($18E).l followed by a branch (6xxx).


And add the "nops" where the branch is.
This post has been edited by JoseTheBest: 12 June 2004 - 04:35 PM

#14 User is offline Quickman 

Posted 12 June 2004 - 04:36 PM

  • Posts: 5584
  • Joined: 03-December 03
  • Gender:Male
  • Location::x
  • Project:omg porjcet
  • Wiki edits:10

JoseTheBest, on Jun 12 2004, 09:34 PM, said:

I donīt like call an instruction by the ascii representation,because thatīs only a coincidence,and actually Nq is nothing.

It may be a coincidence, but that's still the ASCII representation for NOP and it's how most people recognise NOP commands in 68k ASM when looking at it in a hex editor.

#15 User is offline JoseTB 

Posted 12 June 2004 - 04:50 PM

  • Posts: 623
  • Joined: 01-June 04
  • Location:Spain
  • Wiki edits:4

Quick Man, on Jun 12 2004, 04:36 PM, said:

It may be a coincidence, but that's still the ASCII representation for NOP and it's how most people recognise NOP commands in 68k ASM when looking at it in a hex editor.

Well,yes,is a way to recognise it in a hex editor,but I only wanted to say that Nq by itself is no more than a coincidence.Actually is like change all "a" in a text to b,and read it knowing that b is a.You can search directly 4e 71 instead of his consequence in ASCII.Although,I understand that is more graphical in a hex editor the ASCII representation.

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users