Sonic and Sega Retro Message Board: Making PAL MegaDrive games 60Hz-friendly - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Loading News Feed...
 

Making PAL MegaDrive games 60Hz-friendly

#1 User is offline ICEknight 

Posted 07 December 2007 - 09:13 PM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
(Mirrored from 'Cult)


Out of boredom, I decided to take all 44 games already available on the Wii's Virtual console and see how many of them wouldn't work if SEGA just pulled an easy fix to their MegaDrive emulator's inability to display the games in 60Hz (except for Shining Force, which I can't find the PAL ROM of).


This is the positive stuff I found out:

-29 of them would work perfectly by just setting the emulator to US (or to Japanese in case of Streets of Rage 3* and Golden Axe 3). There's absolutrely no excuse for these not being run in 60Hz already when desired.
-3 of them (Ecco 2, Light Crusader and Sonic 3) would work even with their own region-specific sound and screen settings by just editing the header's country code to either JUE or F.


And then, there's the problematic ones:

-3 of them (namely, Comix Zone, Sonic Spinball and Panic on Funkotron) would work by changing the country code, but then the music plays too fast or they have screen placement issues. I don't think anything can be done about these, other than using the US ROMs.
-As you may know, Sonic 3D shows a different title in any non-PAL mode. I wonder if it would be possible to put "Flickies' Island" back with a simple byte change in the ROM...
-Streets of Rage 2 can be run in Japanese mode, but then it reads "Bare Knuckle 2" in the title screen. It might not be possible to play it in US mode without it hanging after the SEGA logo, or would it?
-I can't get the PAL versions of Alien Soldier, Mean Bean Machine, Gunstar Heroes, Landstalker, Shinobi 3 or The Story of Thor to work in any 60Hz mode, as they keep giving the region lockout message whatever I put in the header.


Does anybody know of any other ways to make these locked out games work properly in both modes? I don't know much about how this stuff works, so there might be a lot of stuff I'm missing.



I was thinking that, perhaps, if somebody told the right people at SEGA how to do their work, we'd have 60Hz MegaDrive games in the Wii's Virtual Console. I'd better not talk about their current emulator's terrible sound inaccuracies and sound buffer bugs, how I wish Steve Snake had been involved in this...



*By the way, what's with SoR3's music in PAL mode? Was the speed as inconsistent in a real PAL system or is Kega doing something wierd with it?
This post has been edited by ICEknight: 07 December 2007 - 09:17 PM

#2 User is offline Sik 

Posted 08 December 2007 - 02:07 PM

  • Sik is pronounced as "seek", not as "sick".
  • Posts: 6719
  • Joined: 17-March 06
  • Gender:Male
  • Project:being an asshole =P
  • Wiki edits:11
You can get SoR2 playing after the Sega logo, just you must make sure that when the Sega screen quits the country must be the same as ROM region. Then you can change it to whatever region you want (I even think there was something funny with "Sammy" and "Skate" that only could be triggered this way).

And about SoR3 music... Never tried it (odd o_o'), but I'll check. I don't see why would it mess up...

#3 User is offline ICEknight 

Posted 08 December 2007 - 03:39 PM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18

View PostSik the hedgehog, on Dec 8 2007, 02:07 PM, said:

You can get SoR2 playing after the Sega logo, just you must make sure that when the Sega screen quits the country must be the same as ROM region. Then you can change it to whatever region you want (I even think there was something funny with "Sammy" and "Skate" that only could be triggered this way).

Well, yeah... I know that you can trick the console by changing the region settings on-the-fly, but it will keep giving the same error as soon as the SEGA logo shows up again. =\

Quote

And about SoR3 music... Never tried it (odd o_o'), but I'll check. I don't see why would it mess up...

From what I've listened to, the character select music plays slower than it should, then the 1st level seems to play ok, but a bit slow at times...

#4 User is offline Sik 

Posted 08 December 2007 - 04:54 PM

  • Sik is pronounced as "seek", not as "sick".
  • Posts: 6719
  • Joined: 17-March 06
  • Gender:Male
  • Project:being an asshole =P
  • Wiki edits:11
Mmmmmmh, later I'll check in my house about the SoR3 music issue. By the way, about the SoR2 thing, the only thing you can do is patching (either editing the ROM or using some Game Genie or Action Replay code). I don't think it's possible to fool the game otherwise.

#5 User is offline ICEknight 

Posted 09 December 2007 - 11:08 AM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
By the way, if somebody owns a PAL MD and can put ROMs into a flash cartridge, can you please try Dashin' Desperadoes in PAL 50Hz mode? I've just noticed it gives some wierd screen problems that don't occur in 60Hz, but it might be Kega's fault.

#6 User is offline Sik 

Posted 15 December 2007 - 01:55 PM

  • Sik is pronounced as "seek", not as "sick".
  • Posts: 6719
  • Joined: 17-March 06
  • Gender:Male
  • Project:being an asshole =P
  • Wiki edits:11
Why don't you first try several emulators, not just Kega? Kega tries to emulate a perfect console but it has a horrible interrupt timing (I know what I mean, even I had to deal with it and force delays until interrupts happened in some cases), in fact watch out because in several cases it fucks up writing to VRAM in Sonic games.

Anyways, if I could write ROMs to Flash or something I would test. But I can't (it would be a nice present for my next birthday in February, through :(). I don't have a pure PAL console, but a modified one (model 2) where I can change the country whenever I want with two switches that are next to the connection for the Sega CD.

#7 User is offline ICEknight 

Posted 15 December 2007 - 08:13 PM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
For those interested, the final version of Dashin' Desperadoes just won't work on PAL systems. The only version that does, is the PAL prototype DRX dumped (which doesn't work in NTSC mode).

It seems that whichever routines they wrote for each version, can't be used in both modes.
This post has been edited by ICEknight: 15 December 2007 - 08:15 PM

#8 User is offline Tom41 

Posted 23 December 2007 - 04:13 PM

  • Pheer the baby EggRobo!
  • Posts: 291
  • Joined: 18-August 03
  • Gender:Male
  • Location:UK
Toejam & Earl 2 (Panic on Funkotron) will NOT work on a 60hz MD system. It contains the standard region lockout, but that can easily be defeated by using a Game Genie code. However, running in 60hz mode the picture will roll violently and the music will be much too slow.

The picture rolling occurs regardless of whether you start in 50hz mode and switch over, or start in 60hz mode (bypassing the region lock with Game Genie).

Other games actually had optimized 50hz versions created by Sega, and they have picture/sound issues if you try to run them in 60hz. For example, Virtua Racing when you get past the region lockout, the polygons are completely screwed up in 60hz.

Edit: Also tried Ristar. Interestingly, if you load up the game in 60hz mode and then switch to 50hz at the title screen, the game switches over with very little graphical corruption. On the other hand, if you load up the game in 50hz and then switch to 60hz, you get the violent picture rolling like on TJ&E2.
Seems like Ristar has no lockout for region, but does optimize the code depending on what region it detects on startup.

For most games, it would simply be a matter of flicking a switch on the console (or emulator) and getting the games running in 60hz. For the optimized games, some other method would need to be implemented - possibly have both 50hz and 60hz ROMs in the package that you download on the Wii.

However, how do we know that the MD games on the Wii Virtual Console haven't had additional optimisation done so that they run better at 50hz?
This post has been edited by Tom41: 26 December 2007 - 04:22 PM

#9 User is offline ICEknight 

Posted 28 December 2007 - 09:17 AM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
They run worse, so they're not optimised at all. =\

The "picture rolling" you mention happens in a few of the "optimized" games that use the taller PAL resolution (which is thankfully supported in the VC), but there's others that just use this higher resolution without changing the HUDs or anything, such as Streets of Rage.
This post has been edited by ICEknight: 28 December 2007 - 09:21 AM

#10 User is offline ICEknight 

Posted 06 September 2008 - 12:56 AM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
Speaking of all this stuff, does anybody know how could one start looking for a possible "if region code equals whatever then set some screen mode, speed music and title screen" inside the ROMs? There might be some easy way to change at least some of the region-specific stuff, such as Sonic 3D's title.


I remember finding a single byte inside Ristar's ROM that toggled the music speed despites the assigned region, so there could be some similar stuff in other games...




EDIT: By the way, there's a supposed US version of Alien Soldier in the Virtual Console out now. If anybody knows how to extract it, we might end up with an unreleased dump (unless it's just the Japanese version).
This post has been edited by ICEknight: 07 September 2008 - 01:56 AM

#11 User is offline ICEknight 

Posted 07 September 2008 - 10:41 PM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
I've been doing some research on the different ways PAL games can be run in NTSC regions, and here's some lists:



Without making any changes
Addams Family Values (E) (M3) [!].bin
Alex Kidd in the Enchanted Castle (E) (MD Bundle) [!].bin
Alex Kidd in the Enchanted Castle (E) [!].bin
Andre Agassi Tennis (E) (REV01) [c][!].bin
Another World (E) [!].bin
Atomic Runner (E) [!].bin
Batman (E).bin
Beavis and Butt-head (E) [!].bin
Blood Shot (E) (M4) [!].bin
Bram Stoker's Dracula (E) [!].bin
Brian Lara Cricket (E) [c][!].bin
Brian Lara Cricket 96 (E) [a1][x].bin
Brian Lara Cricket 96 (E) [c][!].bin
Budokan - The Martial Spirit (E) [!].bin
Burning Force (E).bin
Cannon Fodder (E) [!].bin
Capt'n Havoc (E) [!].bin
Captain America and the Avengers (E).bin
Captain Planet and the Planeteers (E) [!].bin
Chuck II - Son of Chuck (E) [c][!].bin
Chuck Rock (E) [c][!].bin
Cliffhanger (E).bin
Corporation (E) [c][!].bin
Cosmic Spacehead (E) (M4) [c][!].bin
Crack Down (E) [!].bin
Daffy Duck in Hollywood (E) (M5) [!].bin
Dino Dini's Soccer (E).bin
Disney Collection - Castle of Illusion & Quack Shot (E) [!].bin
DJ Boy (E) [!].bin
Double Clutch (E) [c][!].bin
EA Hockey (E) [!].bin
EA Sports Double Header (E) [!].bin
Escape From Mars Starring Taz (E) [!].bin
F-15 Strike Eagle II (E) [!].bin
F1 World Championship (E) [!].bin
F1 World Championship Edition (E) [!].bin
Fantasia (E) [!].bin
Fatal Fury (E).bin
Fever Pitch Soccer (E) (M5) [!].bin
Fire Shark (E) [!].bin
Flashback - The Quest for Identity (E) [!].bin
Flintstones, The (E) [c][!].bin
Flux for Mega-CD (E) [!].bin
George Foreman's KO Boxing (E) [!].bin
Gods (E) [!].bin
Grand Slam Tennis (E) [!].bin
Gunship (E) [c][!].bin
Gynoug (E) [!].bin
Hellfire (E).bin
Hurricanes (E) [!].bin
Indiana Jones and the Last Crusade (E) [c][!].bin
International Rugby (E) [c][!].bin
International Superstar Soccer Deluxe (E) [!].bin
King of the Monsters (E) [!].bin
Man Overboard! - S.S. Lucifer (E) [c][!].bin
Marko's Magic Football (E) (M4) [!].bin
Mega Games 2 (E) [!].bin
Mega Games 3 (E) [!].bin
Mega Games 6 (Vol 1) (E) [!].bin
Mega Games 6 (Vol 2) (E) [!].bin
Mega Games 6 (Vol 3) (E) [!].bin
Mega Games I (E) [!].bin
Mega Lo Mania (E) (REV01).bin
Mickey Mania - Timeless Adventures of Mickey Mouse (E) [!].bin
Micro Machines - Turbo Tournament '96 (V1.1) (E) (J-Cart) [c][!].bin
Micro Machines - Turbo Tournament '96 (V1.1) (E).bin
Micro Machines 2 - Turbo Tournament (E) (J-Cart) [c][!].bin
Micro Machines 2 - Turbo Tournament (E) [c][!].bin
Micro Machines Military - It's a Blast! (E) (J-Cart) [c][!].bin
Micro Machines Military - It's a Blast! (E) [x].bin
Mig-29 Fighter Pilot (E) [!].bin
Misadventures of Flink, The (E) [!].bin
Mr. Nutz (E) [!].bin
Muhammad Ali Heavyweight Boxing (E).bin
Olympic Gold - Barcelona 92 (E) (M8) [c][!].bin
Olympic Winter Games - Lillehammer 94 (E) [c][!].bin
Pete Sampras Tennis (E) (REV03) (J-Cart) [!].bin
Pete Sampras Tennis 96 (E) [c][!].bin
Phelios (E) [c][!].bin
Pitfall - The Mayan Adventure (E) [!].bin
Populous (E) [!].bin
Power Drive (E) (M5) [!].bin
Premier Manager (E) [!].bin
Psycho Pinball (E) (Oct 1994) (M5) [c][!].bin
Psycho Pinball (E) (Sep 1994) (M5) [c][!].bin
Puggsy (E) [!].bin
Rise of the Robots (E) [!].bin
Rolling Thunder 2 (E) [c][!].bin
SeaQuest DSV (E).bin
Second Samurai, The (E).bin
Shane Warne Cricket (E) [c][!].bin
Side Pocket (E) [!].bin
Snake Rattle 'n' Roll (E) [c][!].bin
Soleil (F) [!].bin
Splatterhouse 2 (E) [c][!].bin
Spot Goes to Hollywood (E) [!].bin
Street Racer (E) [c][!].bin
Strider II (E) [c][!].bin
Super Fantasy Zone (E) [!].bin
Super Hydlide (E) [!].bin
Super Kick Off (E) [c][!].bin
Super League (E).bin
Super Real Basketball (E) [c][!].bin
Super Skidmarks (E) (J-Cart) [!].bin
Super Skidmarks (E) [a1].bin
Talmit's Adventure (E) [!].bin
Terminator, The (E) [c][!].bin
Time Killers (E) [!].bin
Two Crude Dudes (E).bin
Where in the World is Carmen Sandiego (E) (M5).bin
Williams Arcade's Greatest Hits (E).bin
Wiz 'n' Liz - The Frantic Wabbit Wescue (E) [!].bin
World Class Leaderboard Golf (E) [x].bin
World Cup Italia 90 (E) [!].bin
World of Illusion Starring Mickey Mouse & Donald Duck (E) [!].bin
Yogi Bear's Cartoon Capers (E) [!].bin
Zero Wing (E) [c][!].bin

Music plays too fast:
Earthworm Jim 2 (E) [!].bin

Other issues:
Alisia Dragoon (E) [!].bin (Very minor flickering in the topmost part of the screen, when the dragon's palette changes)
Lemmings (E) [!].bin (game display flickers)




Editing the country code to either JUE or F
Adventures of Batman and Robin, The (E) [!].bin
Aero the Acro-Bat 2 (E) [!].bin
Boogerman (E) [!].bin
Brutal - Paws of Fury (E).bin
Daze Before Christmas, The (E) [!].bin
Donald in Maui Mallard (E) [!].bin
Dragon - The Bruce Lee Story (E).bin
ECCO - The Tides of Time (E) [!].bin
European Club Soccer (E) [!].bin
Fun-N-Games (E).bin
Jurassic Park (E) [!].bin
Lemmings 2 - The Tribes (E) [!].bin
Light Crusader (E) (M4) [!].bin
Lost Vikings, The (E).bin
Marsupilami (E) (M5) [!].bin
Mortal Kombat 3 (E) [!].bin
OutRun 2019 (E) [!].bin
Phantom 2040 (E) [!].bin
Pinocchio (E).bin
Radical Rex (E).bin
Rock n' Roll Racing (E) [!].bin
Sonic The Hedgehog 3 (E) [!].bin
Star Trek - Deep Space 9 - Crossroads of Time (E).bin
Sub-Terrania (E) [!].bin
Superman (E) [!].bin
Total Football (E) [!].bin
Ultimate Mortal Kombat 3 (E) [!].bin
X-Men (E) [!].bin
Zero the Kamikaze Squirrel (E) [!].bin
Zoop (E) [!].bin

Music plays too fast:
Comix Zone (E) (M4) [!].bin
Disney's Aladdin (E) [!].bin	 
Earthworm Jim (E) [!].bin		
Eternal Champions (E) [!].bin	
NBA Hang Time (E) [!].bin		
Ooze, The (E) [!].bin
Pocahontas (E) [!].bin
Premier Manager 97 (E) [!].bin
Prince of Persia (E).bin
Sonic Spinball (E) [!].bin
Zombies (E) [!].bin
Dragon Ball Z - L'Appel du Destin (F) [!].bin

Screen issues, due to using a special PAL screen mode:
Ren and Stimpy Show, The - Stimpy's Invention (E) [!].bin
Toejam & Earl in Panic on Funkotron (E) [!].bin

Other issues:
Cheese Cat-Astrophe Starring Speedy Gonzales (E) (M4) [!].bin (slowdown)



Konami fix 1
-Look for the first "00A1 0001" and replace it with "00A1 4E71"
-Fix checksum.
Castlevania - The New Generation (E) [!].bin
Probotector (E) [!].bin
Sparkster (E) [!].bin


With issues:
Animaniacs (E) [!].bin (slowdown and screen issues)
Teenage Mutant Hero Turtles - Tournament Fighters (E).bin (Sprite and voice sample issues, music plays too fast)



Konami fix 2
-Replace "60E6 4EB9" with "60E6 6004"
-Fix checksum
Sunset Riders (E) [!].bin




Still unknown
Adventures of Mighty Max, The (E).bin
Alien Soldier (E) [!].bin
Art of Fighting (E) [!].bin
Asterix and the Great Rescue (E) (M5) [c][!].bin
Asterix and the Power of The Gods (E) (M4) [!].bin
ATP Tour Championship Tennis (E).bin
Australian Rugby League (E) [!].bin
Back to the Future Part III (E) [!].bin
Body Count (E) (M5) [!].bin
Bubba N Stix (E) [c][!].bin
Chaos Engine, The (E) [!].bin
Cool Spot (E) [!].bin
Dr. Robotnik's Mean Bean Machine (E) [!].bin
Dune - The Battle for Arrakis (E).bin
FIFA Soccer 98 - Road to the World Cup (E) (M5) [!].bin
Gunstar Heroes (E) [!].bin
Hyper Dunk - The Playoff Edition (E) [!].bin
Jimmy White's Whirlwind Snooker (E) [c][!].bin
Jungle Book, The (E) [!].bin
Kick Off 3 - European Challenge (E) [!].bin
Landstalker - The Treasures of King Nole (E) [!].bin
Lethal Enforcers (E) [!].bin
Lethal Enforcers II - Gun Fighters (E) [!].bin
Mazin Wars (E) [!].bin
McDonald's Treasure Land Adventure (E).bin
Mega Lo Mania (E) (REV00) [c][!].bin
Mega SWIV (E).bin
Mega Turrican (E) [!].bin
Megaman - The Wily Wars (E).bin
Mick & Mack as the Global Gladiators (E) [!].bin
Mighty Morphin Power Rangers (E) [!].bin
Mighty Morphin Power Rangers - The Movie (E) [!].bin
NHL 95 Elitserien (E) [c][!].bin
NHL 96 Elitserien (E).bin
Nigel Mansell's World Championship (E).bin
Ottifants, The (E) (M5) [!].bin
Pac-Panic
Pagemaster, The (E) [!].bin
Pebble Beach Golf Links (E).bin
Populous II - Two Tribes (E) [!].bin
Punisher, The (E).bin
Ranger-X (E) [!].bin
Robocop Versus The Terminator (E).bin
Rocket Knight Adventures (E) [!].bin
Samurai Shodown (E) [c][!].bin
Saturday Night Slam Masters (E).bin
Sega Sports 1 (Wimbledon, Ult.Soccer, Super Monaco) (E) [!].bin
Sensible Soccer (E) (M4) [!].bin
Sensible Soccer - International Edition (E) (M4) [!].bin
Shining Force II (E) [!].bin
Shinobi III - Return of the Ninja Master (E) [c][!].bin
Skeleton Krew (E).bin
Smurfs 2, The (E) (M4) [!].bin
Smurfs, The (E) (M5) [!].bin
Soleil (E) [!].bin
Sonic Classics (Compilation) (E) (REV00) [!].bin
Speed Ball 2 - Brutal Deluxe (E) [!].bin
Spirou (E) [!].bin
Story of Thor, The - A Successor of The Light (E) [!].bin
Street Fighter II' - Special Champion Edition (E) [!].bin
Streets of Rage 3 (E) (Apr 1994) [!].bin
Streets of Rage 3 (E) (May 1994) [!].bin
Striker (E) (M5) [!].bin
Super Street Fighter II - The New Challengers (E) [c][!].bin
Teenage Mutant Hero Turtles - The Hyperstone Heist (E).bin
Thunder Force IV (E) [c][!].bin
Tintin Au Tibet (E) (M6) [!].bin
Tiny Toon Adventures - Acme All-Stars (E).bin
Tiny Toon Adventures - Buster's Hidden Treasure (E) [!].bin
Toy Story (E) [!].bin
Ultimate Soccer (E) [!].bin
Virtua Racing (E) [!].bin
Virtua Racing (E) [a1].bin
Wimbledon Championship Tennis (E) [!].bin
Worms (E) [!].bin
Xenon 2 - Megablast (E) [c][!].bin
Zool (E) [!].bin



The last games have at the same time different groups of region locking methods (Konami, SEGA of America, etc), so "unlocking" each of them would fix many others at the same time.



Also, I've just remembered that Golden Axe III seems to have an exclusive US version in the Virtual Console, just like Alien Soldier. Somebody please help extracting those ROMs...
This post has been edited by ICEknight: 31 May 2012 - 06:10 PM

#12 User is offline shobiz 

Posted 08 September 2008 - 04:25 AM

  • Posts: 863
  • Joined: 27-March 05
  • Gender:Male
  • Location:Karachi, Pakistan
  • Wiki edits:4,411

View PostICEknight, on Sep 6 2008, 11:56 AM, said:

Speaking of all this stuff, does anybody know how could one start looking for a possible "if region code equals whatever then set some screen mode, speed music and title screen" inside the ROMs? There might be some easy way to change at least some of the region-specific stuff, such as Sonic 3D's title.

Dunno about other games, but Sonic 2 and 3K copy over the Z80 Version register ($A10001) to some RAM variable, and then test bits 7 and 6 of this variable. Bit 7 is the export bit (0 if Japanese, 1 if foreign) and Bit 6 is the video type bit (0 if NTSC, 1 if PAL) - the other bits of the register aren't used for these purposes. Additionally, they also set a byte inside the Z80 memory region to indicate if the system is NTSC or PAL, and I guess that byte is used to regulate sound timing.

#13 User is offline ICEknight 

Posted 08 September 2008 - 10:54 AM

  • Posts: 8689
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18

View Postshobiz, on Sep 8 2008, 04:25 AM, said:

Additionally, they also set a byte inside the Z80 memory region to indicate if the system is NTSC or PAL, and I guess that byte is used to regulate sound timing.
Do you know of any example of this code in hex? It might be as easy as changing one byte where it sets that value for PAL sound, and might be similar for at least some games.

If we knew more about this, perhaps it would be possible to even make an option in the emulators themselves, to automatically make most PAL games run normally in 60Hz mode.

#14 User is offline Overlord 

Posted 08 September 2008 - 02:42 PM

  • Что, вы ожидали что-то остроумное?
  • Posts: 13292
  • Joined: 12-January 03
  • Gender:Male
  • Location:Berkshire, England
  • Project:VGDB
  • Wiki edits:3,204
How many games is it vaible for though, really? I mean, don;t get me wrong, I approve this idea, it's just it's only of use for a small amount of games - the rest have (U) [!] versions.


Unless you're doing this for the intention of running non-English games at 60Hz, in which case, fair point.

#15 User is offline shobiz 

Posted 09 September 2008 - 03:41 AM

  • Posts: 863
  • Joined: 27-March 05
  • Gender:Male
  • Location:Karachi, Pakistan
  • Wiki edits:4,411

View PostICEknight, on Sep 8 2008, 09:54 PM, said:

View Postshobiz, on Sep 8 2008, 04:25 AM, said:

Additionally, they also set a byte inside the Z80 memory region to indicate if the system is NTSC or PAL, and I guess that byte is used to regulate sound timing.
Do you know of any example of this code in hex? It might be as easy as changing one byte where it sets that value for PAL sound, and might be similar for at least some games.

The problem with that is that there are loads of different ways to code it. For example, the code in Sonic 2:
Syntax Highlighted Code: ASM
	[color= #00bfff;]btst[/color]	[color= #ff0000;]#[/color][color= #ff0000;]0[/color],([color= #ff0000;]$[/color][color= #ff0000;]C00005[/color]).[color= #00bfff;]l[/color]	[color= #adadad; font-style: italic;]; check video mode[/color]
sne (Z80_RAM+zPalModeByte).[color= #00bfff;]l[/color] [color= #adadad; font-style: italic;]; set if PAL[/color]

and the equivalent code in Sonic 3k:
Syntax Highlighted Code: ASM
	[color= #00bfff;]btst[/color]	[color= #ff0000;]#[/color][color= #ff0000;]6[/color],(Graphics_flags).[color= #00bfff;]w[/color]
[color= #00bfff;]beq[/color].[color= #00bfff;]s[/color] loc_1326
[color= #00bfff;]move[/color].[color= #00bfff;]b[/color] [color= #ff0000;]#[/color][color= #ff0000;]1[/color],(Z80_RAM+[color= #ff0000;]$[/color][color= #ff0000;]1C02[/color]).[color= #00bfff;]l[/color]

Anyway, the machine code for the S2 method:
08 39 00 00 00 C0 00 05 56 F9 (00 A0 00 07)

and the machine code for the S3K method:
08 38 00 06 (FF D8) 67 08 13 FC 00 01 (00 A0 1C 02)

(bytes in brackets are addresses which will probably differ from game to game)

  • 3 Pages +
  • 1
  • 2
  • 3
    Locked
    Locked Forum

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