Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Codemaster Stuff

Reply to topic
Author Message
PolestaR
  • Guest
Reply with quote
Codemaster Stuff
Post Posted: Mon Mar 19, 2001 8:14 am
I was just thinking, what is the use of having 4 or 5 games which use a different mapper(codemasters). Wouldnt it be better if we just hacked them to use the normal mapper? Its not like the mapper does something special that the standard sega licensed one does. I think its weird having 5 games or so which use a different mapper which is only slightly different, it would be easier and more standard if we changed them and just 'noted' that in history or whatever :P.
I guess you CRC purists will say its not the same rom file , but it is really. I just want some opinions on the subject, anyone willing to offer some. If the people who dump and release the codemaster games just release the Hacked sega licensed ones then thats all the people will see and use and there will be no difference.
-Jason Starr-
 
  • Site Admin
  • Joined: 25 Oct 1999
  • Posts: 2029
  • Location: Monterey, California
Reply with quote
Heretic
Post Posted: Mon Mar 19, 2001 8:36 am
Quote
> I was just thinking, what is the use of having 4 or 5 games which use a different mapper(codemasters). Wouldnt it be better if we just hacked them to use the normal mapper? Its not like the mapper does something special that the standard sega licensed one does. I think its weird having 5 games or so which use a different mapper which is only slightly different, it would be easier and more standard if we changed them and just 'noted' that in history or whatever :P.

I think it's less 'standard' to release hacked roms. It's getting to far out of the 'natural order' of things to change roms to make emulator author's lives easier. The emulator emulates the hardware enviroment that the software expects to run in, console specific hardware as awell as cart specific.


Quote
> I guess you CRC purists will say its not the same rom file , but it is really.

But, really, it isn't.

Quote
> I just want some opinions on the subject, anyone willing to offer some.

I'm suspecting others here are pretty well going to favor historical accuracy over convienence.

Quote
> If the people who dump and release the codemaster games just release the Hacked sega licensed ones then thats all the people will see and use and there will be no difference.

Well, the people who dump them aren't necessarily capable of hacking the dumps, that can be a lot more complicated than it sounds (depending on whether the mappers is changed in a common routine that all parts of the code call to do their paging, or if the paging register is access directly whereever in the code it's needed).

Which brings up another point, if you emulate correctly, then your job is done. If you just hack a rom, then you have to find out if all the parts that access the paging register have been changed... perhaps a 'secret' area hadn't been accounted for and isn't discovered for some time after the hack is released... then you have to go back and rerelease a 'correct' hack.

And more importantly, it's just DIRTY.


Quote
> -Jason Starr-
  View user's profile Send private message Visit poster's website
PolestaR
  • Guest
Reply with quote
Well....
Post Posted: Mon Mar 19, 2001 1:00 pm
Well.... I was just thinking, if we allow the codemaster games to have weird paging what is to stop someone other homebrew developer deciding they want to use a weird non standard thang :P. I know if you code in ASM then you are pretty out there ;) so who knows what goes through the mind of an asM coder???
-Jason Starr-
 
  • Joined: 21 Apr 2000
  • Posts: 598
  • Location: Newcastle upon Tyne, England
Reply with quote
Post Posted: Mon Mar 19, 2001 2:40 pm
Quote
> I was just thinking, what is the use of having 4 or 5 games which use a different mapper(codemasters). Wouldnt it be better if we just hacked them to use the normal mapper? Its not like the mapper does something special that the standard sega licensed one does. I think its weird having 5 games or so which use a different mapper which is only slightly different, it would be easier and more standard if we changed them and just 'noted' that in history or whatever :P.


I think "history" is the key word here :-)

It raises the question - what are we about, exactly? Are we just having a laugh - a wacky 80s nostalgia trip to be discarded when emulation becomes passé and another fad comes along? Or is there a serious point to all this?

I feel quite strongly that while we may hack ROMs to our hearts' content for our own personal benefit (such as for testing purposes), when it comes to archiving, documenting and distributing we have a duty to preserve the ROMs *exactly* as they appeared originally.

See my comments in the SMSReader documentation - if games companies don't take their history seriously then someone has to do it for them, and releasing ROMs to the public that have been hacked or buggered about with just isn't taking it seriously enough, IMO.

So... if you want games to use the Sega registers all the time, why not make your emulator patch the ROM *after* loading? :-)


Quote
> I guess you CRC purists will say its not the same rom file , but it is really.

It's not, though - change one single bit and it ceases to be the same.

Once you start hacking ROMs to fit your emulator rather than vice versa, where do you stop?

Mike
  View user's profile Send private message Visit poster's website
Victor Moya
  • Guest
Reply with quote
ASM coding rules ;)
Post Posted: Mon Mar 19, 2001 9:07 pm
Quote
> Well.... I was just thinking, if we allow the codemaster games to have weird paging what is to stop someone other homebrew developer deciding they want to use a weird non standard thang :P. I know if you code in ASM then you are pretty out there ;) so who knows what goes through the mind of an asM coder???

ASM coding rules :)))).

BTW I fixed some bugs and added GameGear emulation to my Master System emulator (if anyone interested ... what? noone? oh! ;( ). The source is also available.

www.dynarec.com/~victor

Quote
> -Jason Starr-

Victor Moya
 
PolestaR
  • Guest
Reply with quote
Re: Codemaster Stuffz
Post Posted: Tue Mar 20, 2001 3:56 am
Quote
> I think "history" is the key word here :-)

> It raises the question - what are we about, exactly? Are we just having a laugh - a wacky 80s nostalgia trip to be discarded when emulation becomes passé and another fad comes along? Or is there a serious point to all this?

> I feel quite strongly that while we may hack ROMs to our hearts' content for our own personal benefit (such as for testing purposes), when it comes to archiving, documenting and distributing we have a duty to preserve the ROMs *exactly* as they appeared originally.

> See my comments in the SMSReader documentation - if games companies don't take their history seriously then someone has to do it for them, and releasing ROMs to the public that have been hacked or buggered about with just isn't taking it seriously enough, IMO.

> So... if you want games to use the Sega registers all the time, why not make your emulator patch the ROM *after* loading? :-)


> It's not, though - change one single bit and it ceases to be the same.

> Once you start hacking ROMs to fit your emulator rather than vice versa, where do you stop?

> Mike

Well, it doesnt really bring a problem to my emulator as it already supports codemaster mapper, i have no problem with the mapper technically. My issue was more of a standard one. I for instance could make a mapper which uses 100 rom/ram locations to page in different roms based on 255 different values i passed to it. Then I could go and emulate this functionality leaving everyone who didnt know what ive done in the dark, do you get what im saying? I know for historys sake we should keep roms as PURE as we can get them, but....... i donno. It doesnt matter i guess whether or not we hack roms. Whats my issue anyway? :)
-Jason Starr-
 
  • Joined: 21 Apr 2000
  • Posts: 598
  • Location: Newcastle upon Tyne, England
Reply with quote
Re: Codemaster Stuffz
Post Posted: Tue Mar 20, 2001 12:46 pm
Quote
> Well, it doesnt really bring a problem to my emulator as it already supports codemaster mapper, i have no problem with the mapper technically. My issue was more of a standard one. I for instance could make a mapper which uses 100 rom/ram locations to page in different roms based on 255 different values i passed to it. Then I could go and emulate this functionality leaving everyone who didnt know what ive done in the dark, do you get what im saying? I know for historys sake we should keep roms as PURE as we can get them, but....... i donno. It doesnt matter i guess whether or not we hack roms. Whats my issue anyway? :)


A mapper with 100 registers... now there's an idea ;-)

Seriously, how about some kind of standard system of specifying mappers, based on the information in a text file of some sort? You could have something like (off the top of me head):


[details]
name = "Cosmic Spacehead"
chk = 0x4A89
registers = 1

[register1]
reg_address = 0x8000
frame_start = 0x8000
frame_end = 0xBFFF



ROMS without a corresponding config file would use the Sega mapper by default, of course. Just a suggestion anyway :-)

Mike
  View user's profile Send private message Visit poster's website
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Re: Codemaster Stuffz
Post Posted: Tue Mar 20, 2001 4:06 pm
It is better not to generalize a mapper with so few command, and generally speaking, without actual code: remember that technically speaking, anything can be done with a mapper.
There's pirate cartridges, the GG ones with EEPROM, the one linked to the graphic board, etc.

Also:
Quote
> chk = 0x4A89
MEKA checksum system may sucks, but the SMS one is even worse, being only based on an addition: if you reverse every odd and even bytes of a ROM, the computed checksum will be the same, for example.

Finally, it could hurt some optimization to allow dynamic setting this way.

As for creating your own mapper with 100 registers. Well, after all, Eric's emulator is providing the same kind of service. But beside debugging purpose, it is not of much use.
  View user's profile Send private message Visit poster's website
  • Joined: 21 Apr 2000
  • Posts: 598
  • Location: Newcastle upon Tyne, England
Reply with quote
Re: Codemaster Stuffz
Post Posted: Tue Mar 20, 2001 5:39 pm
Quote
> It is better not to generalize a mapper with so few command, and generally speaking, without actual code: remember that technically speaking, anything can be done with a mapper.


Absolutely, and you're right. I wasn't really suggesting this was used verbatim, just giving a very simple example of what a config file might look like.

As it stands, even being able to select the known mappers from a menu would be a worthwhile addition - at the moment I can't use the Codemasters dumps I made in any emulator without hacking the ROMs to use the Sega mapper instead :-)


Quote
> There's pirate cartridges, the GG ones with EEPROM, the one linked to the graphic board, etc.


Which one is linked to the graphic board? (You may have told me this before, but I can't remember the details...)


Quote
> Finally, it could hurt some optimization to allow dynamic setting this way.


Fair point, and one I hadn't thought of :-)

Mike
  View user's profile Send private message Visit poster's website
  • Joined: 18 Sep 1999
  • Posts: 498
  • Location: Portland, Oregon USA
Reply with quote
Codemaster Paging
Post Posted: Tue Mar 20, 2001 6:21 pm
Quote
> I was just thinking, what is the use of having 4 or 5 games which use a different mapper(codemasters). Wouldnt it be better if we just hacked them to use the normal mapper? Its not like the mapper does something special that the standard sega licensed one does. I think its weird having 5 games or so which use a different mapper which is only slightly different, it would be easier and more standard if we changed them and just 'noted' that in history or whatever :P.
> I guess you CRC purists will say its not the same rom file , but it is really. I just want some opinions on the subject, anyone willing to offer some. If the people who dump and release the codemaster games just release the Hacked sega licensed ones then thats all the people will see and use and there will be no difference.
> -Jason Starr-

I have no idea how Codemasters paging works. Would anyone be willing to write up a document? I'll be sure to put it in the Technical Documents section.

--
Eric Quinn
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14738
  • Location: London
Reply with quote
Re: Codemaster Paging
Post Posted: Tue Mar 20, 2001 8:53 pm
Quote
> I have no idea how Codemasters paging works. Would anyone be willing to write up a document? I'll be sure to put it in the Technical Documents section.

Jason's working on a doc, which he posted about a while back, and I remember mentioned this. Let me try and remember the URL...

Ah yes, http://freezesms.emuunlim.com/techdoc.txt. It looks like he's trying to fill the gaps left by some of the other docs, but obviously there's a way to go.

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 18 Sep 1999
  • Posts: 498
  • Location: Portland, Oregon USA
Reply with quote
Re: Codemaster Paging (attn: Jason Starr)
Post Posted: Tue Mar 20, 2001 10:14 pm
Quote
> > I have no idea how Codemasters paging works. Would anyone be willing to write up a document? I'll be sure to put it in the Technical Documents section.

> Jason's working on a doc, which he posted about a while back, and I remember mentioned this. Let me try and remember the URL...

> Ah yes, http://freezesms.emuunlim.com/techdoc.txt. It looks like he's trying to fill the gaps left by some of the other docs, but obviously there's a way to go.

Jason,

I would like to put a copy of your techdoc.txt in the Technical Documents section. Is this acceptable?

--
Eric Quinn
  View user's profile Send private message Visit poster's website
PolestaR
  • Guest
Reply with quote
Re: Codemaster Paging (attn: Jason Starr)
Post Posted: Wed Mar 21, 2001 2:13 am
Yah of course. I'll update it soon.
-Jason Starr-
 
PolestaR
  • Guest
Reply with quote
Re: Codemaster Stuffz
Post Posted: Wed Mar 21, 2001 2:22 am
It would be good i suppose if we could all band together to have some sort of standard paging identifier system. But since not all of us live in a perfect world :P it sometimes aint possible. I will be doing mapper detection in a similar way to Meka. ie There will be a gamelist file, and in there i can specify which mapper a rom uses. Simple maybe, effective, yes. Since there is no possible(? im open to suggestions) ways to detect paging chips since all we have is the Rom, i think its the best method.
-Jason Starr-
 
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Some corrections
Post Posted: Wed Mar 21, 2001 4:37 pm
CLK line is unused by the program itself as the games works on a standard cartridge without CLK being connected.
About graphics corruption:
"The possible reasons for this is
2->the CLK line is somehow affecting VDP writes/read"
Is false.

The problem is likely either a VDP emulation problem or something closely related to hardware limitations and weirdness (speed, synchronisation).

Disassembling the ROM, I can see that value written at 0x8000 can be read back at 0xBFFF.

The paddle controller is not a ball (the Sport Pad is). It is like some Atari roller pad, dunno how to explain, but maybe the picture on MEKA can help.

3d Glasses were released in 1986 or 87, surely not 85 :)
  View user's profile Send private message Visit poster's website
  • Joined: 18 Sep 1999
  • Posts: 498
  • Location: Portland, Oregon USA
Reply with quote
Re: Codemaster Stuffz
Post Posted: Wed Mar 21, 2001 5:32 pm
Quote
> It would be good i suppose if we could all band together to have some sort of standard paging identifier system. But since not all of us live in a perfect world :P it sometimes aint possible. I will be doing mapper detection in a similar way to Meka. ie There will be a gamelist file, and in there i can specify which mapper a rom uses. Simple maybe, effective, yes. Since there is no possible(? im open to suggestions) ways to detect paging chips since all we have is the Rom, i think its the best method.
> -Jason Starr-

I was hesitant to bring this up, but I will now:

At one time many SMS ROM images had a 512 byte header.

Let me propose the following:

Codemasters games should include the 512 byte header that identifies them as using a different paging scheme. Since no one seems to really know what was in those headers we (SDSC?) can simply redefine it to meet our (SMS/GG emulation enthusiasts) needs.

The benefits of this scheme is that it won't break normal SMS/GG ROM images, and massive lists of ROMs won't have to be maintained. If a SMS/GG emulators finds a header, it will simply need to read a few bytes to determine whether to use standard or Codemasters paging. If no header exists, then default to standard paging. For completeness the header should contain codes for both standard and Codemasters paging. (Furthermore, if someone were to create a custom paging mechanism (which I personally would discourage) they can "register" a unique paging code with the SDSC for use in the header.)

Now, I understand that 512 bytes might be overkill for what can be described in a single byte, but it makes sense to keep it as compatible as possible with existing emulators and ROM image utilities. Also, it's not as if 512 is an outrageous space requirement, and considering only Codemasters ROM images will require the header, I think the impact of the extra size is negligable. Besides, it might take up less space than a file describing every known SMS/GG ROM image and its paging requirements.


--
Eric Quinn
  View user's profile Send private message Visit poster's website
vecna
  • Guest
Reply with quote
Re: Codemaster Stuffz
Post Posted: Wed Mar 21, 2001 7:43 pm
Sounds good to me. I dislike the idea of having to keep a checksum database in order to properly emulate many games.

Hell, MOST of the ROMs I have on my HD have the 512 byte header.

- vecna
 
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14738
  • Location: London
Reply with quote
Re: Codemaster Stuffz
Post Posted: Wed Mar 21, 2001 8:43 pm
Quote
> Sounds good to me. I dislike the idea of having to keep a checksum database in order to properly emulate many games.

Well, you really only need the checksums of the 10 or so Codemasters games that probably exist.

Quote
> Hell, MOST of the ROMs I have on my HD have the 512 byte header.

*cough* SMS Checker *cough*

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Re: Codemaster Stuffz
Post Posted: Wed Mar 21, 2001 9:36 pm
As soon as I'll catch up with every single crap mentionned in GoodSMS, GoodGG, GoodWhatever and all brazilians releases, I'm not against making MEKA crappy algorythm public.
It was originally kept secret (and it is) for the simple reason of controlling the database and avoid unsynchronized and hacked versions to be seen everywhere, which would have been hell.
I hope people understand that point :)

Mike, if you need to test dumps I'm gladly to send you the sum generating tool.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14738
  • Location: London
Reply with quote
GoodXXX (oxymoronic name)
Post Posted: Wed Mar 21, 2001 10:30 pm
Quote
> As soon as I'll catch up with every single crap mentionned in GoodSMS, GoodGG, GoodWhatever and all brazilians releases, I'm not against making MEKA crappy algorythm public.

Well, I try and keep up with them for SMS Checker but every couple of months he finds some more bad dumps to add. Those "trained" GG games were really silly - they just changed one byte, like MUG U.K(tm)'s meka.pat file.

Zoop, let me know if you'd like to try and get the few remaining "rare" crappy dumps I have that you maybe don't, I'll send you the super secret unlock code for SMS Checker and send them to you.

Quote
> It was originally kept secret (and it is) for the simple reason of controlling the database and avoid unsynchronized and hacked versions to be seen everywhere, which would have been hell.

I think you overestimate the likelihood of that happening. It's your decision, though.

Quote
> I hope people understand that point :)

Maxim
  View user's profile Send private message Visit poster's website
PolestaR
  • Guest
Reply with quote
Re: Some corrections
Post Posted: Thu Mar 22, 2001 3:04 am
Quote
> CLK line is unused by the program itself as the games works on a standard cartridge without CLK being connected.
> About graphics corruption:
> "The possible reasons for this is
> 2->the CLK line is somehow affecting VDP writes/read"
> Is false.

Okay

Quote
> The problem is likely either a VDP emulation problem or something closely related to hardware limitations and weirdness (speed, synchronisation).

Poss-ibly.

Quote
> Disassembling the ROM, I can see that value written at 0x8000 can be read back at 0xBFFF.
>

I noticed this too
Did you also see how it writes the same value to DEBC(off the top of my head) before it writes to $8000?

Quote
> The paddle controller is not a ball (the Sport Pad is). It is like some Atari roller pad, dunno how to explain, but maybe the picture on MEKA can help.

Alrighty

Quote
> 3d Glasses were released in 1986 or 87, surely not 85 :)

Well they are still marvelous things, even though i havnt used them ever.


Strange strange things with CosMic Spacehead. It could possibly use some sort of different hardware horizontal scrolling. From what ive seen though is that the graphics in the side levels seem "alright" when its first loaded, and is corrupted when scrolling. Also it doesnt load up any new graphics when hscrolling, its the same stuff from the first screen which tends to suggest lack of data getting to vram. Do the codies game have any backup ram? Would be good to find out this roms problem.
-Jason Starr-
 
PolestaR
  • Guest
Reply with quote
Re: Codemaster Stuffz
Post Posted: Thu Mar 22, 2001 3:15 am
I think if there is gonna be any header attached to roms, then it should be attached to all of them. The header could include information about the rom, comments, etc. It would allow emulators to have a standard way of identifying roms, weird hardware knowledge, etc.
So if it applies to all roms, i agree with it, if it just applies to codies, i would prefer to use a database.
Adding a header to every rom out there would be a giant task though, but NES has done it, so why cant we ;P.
-Jason Starr-
 
PolestaR
  • Guest
Reply with quote
Looky here
Post Posted: Thu Mar 22, 2001 5:36 am
Heres a little header that i would be happy with (if it happens)
Of course it can be extended/modified a bit

Addr Length DESC

0 4 "SDSC"
4 1 system type
5 1 country
6 1 mapper
7 4 checksum of rom (not including header)
128 128 NAME of rom
256 256 Description/Comment about rom
511 End of header

This leaves a lot room for any additional things. What do you guys think?
 
  • Joined: 21 Apr 2000
  • Posts: 598
  • Location: Newcastle upon Tyne, England
Reply with quote
Meka Sumz
Post Posted: Sun Mar 25, 2001 9:13 am
Quote
> Mike, if you need to test dumps I'm gladly to send you the sum generating tool.


Thanks Zoop, I'd appreciate that ;-)

Best wishes,

Mike
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!