**************************************************************************** ****************************** Message One ********************************* **************************************************************************** Subject: Dirty s&k Date: Wed, 17 Jul 2002 18:54:02 +0300 From: Edd SonicSound To: wacko@emulationzone.org Hi, you've got a nice site! thatks for keeping my favourite videogame characters alive:) sonic is worth it! about "dirty" cartridges - i design lots of various rom peek'ers, one i did a long time ago was for megadrive too. also i ve worked a lot around cartridges for copying them. i've got various versions of many games i have dumped. those bytes You've found are not errors or flaws of some dumpers or something. what they are is usually a entry-code of the program itself; and those ones You have discovered is jump instruction with normal program start address. those bytes were intentionally modified by some guys (chinese, korean or anywhere else) before writing into cartridges, so those cartridges run on ANY megadrive/genesis/nomad machine, no matter it is pal, ntsc or french secam :) so actually it is a hacked version of game. most game dumps from chinese pirated cartridges differ with those few bytes from originals. eventually it is hard to find other correct program entry point without affecting the game - so sometimes it was unavoidable to keep the original "SEGA" intro. for example sonic 3d had to loose the beautiful SEGA intro (so it starts with the rendered animation) as well as many others - down to even tetris! most likely that one other byte is some NOP'ed instruction. in the lock-on system, no programs are executed from the locked-on cartridge, as motorola mc68000 doesn't allow this easy to relocate the code (actually - who does? :) so program for all the sonics is built in sonic&knuckles. actually sonic3 was especially designed for lock-on, so it does contain special places and hidden pasages for knuckles. besides that - both sonics use completely the same software engine for game. main differences are in game data (other gfx, levels). sonic3 contain music from s&k, just because it was unnecessary to remove it, however knuckles levels were too large to be available in 2Mbyte sonic3 version. sonic team designed knuckles levels and music at the same time while created sonic3. so it do contain empty references to levels, found in s&k. thay cannot be run ever, just because there is no data for them in the card. because sonic3 and sonic&knuckles were designed as one game - total game data took all bytes to the limit of that available 4mbytes.. by deviding them into two games, a lot of data was needed to be duplicated so it was still available in both sonic3 and sonic&k games. s&k data was too large and it took even more then 2MBytes, so it was needed to cut something out to win those many kilobytes missing. finally decision was made to cut out all sonic3 music, tails character animation sprites and pictures, and one level which only appears in some cd version as far as i know. when sonic3 is lock'ed onto s&k, program gets that data from sonic3 rom. ok then, if You have any questions of that sort - feel free to ask! i would be glad to help You. btw: is there a ROMdump of that Sonic2 patch rom? regards, Edd Sonicsound /d.r.e.a.m /phantasy **************************************************************************** ********* Message two - Inlcudes my reply to message one. ****************** **************************************************************************** Subject: Re: dirty s&k Date: Thu, 18 Jul 2002 12:37:39 +0300 From: Edd SonicSound To: Andrew Wolan thanks for answering so insantly! well those level and sprite data are not included in cartridge - tom just got glitches. sonic gots a special 4byte-entry tables containing pointers to data of the correspondedning level. i can set it to play even zone nr. 100 - and program will search for 100th entry in table (it will actually run over the table and into some other data) so invalid pointer will be loaded, which will point to some random data block. if machine will not hang up (it most likely does, just because of a call to service for invalid object! yes, sonic engine is built on this genius "object-service- objectadvnce-service-objectadvance..." concept, that's why program is so fast, but can slow down when lots of creatures are around) so if machine will NOT hang up (just lucky':) the level will be made out of a random garbage, like tom shows. levels are being made on special sonic team software, and in the beggining the "new" level looks like emptyness with blocks in the last character row to avoid sonic falling and falling and falling over and over again:) then it is being built out of the hand drawings. that's it! thanks for reading :) regards, Edd SonicSound /d.r.e.a.m /phantasy Quoting Andrew Wolan : > You gave me quite a bit of infomration to absorb. :) > > Check out http://ssrg.emulationzone.org/tomhack/SONIC3.HTM > Tom, the web master of that site, found a way to access two or so S&K > levels in the Sonic 3 cart, along with informaiton on how to play as > Knuckles in Sonic 3. > > As for the Sonic 2 patch ROM, you cna grab it off of > ssrg.emulationzone.org/s&k > Look under the "suppliments" links. > > I'll sort through your information sometime next month and add it to the > S&K Lock-On technolgy hacking guide. > - Andy