I just want to know what a good way is to draw artwork with genesis limitations in mind. I'm talking about for backgrounds, sprites, pallete, the works.
Basic Questions & Answers thread NEWBIES: Start here!
#3826
Posted 23 July 2011 - 08:50 PM
I just want to know what a good way is to draw artwork with genesis limitations in mind. I'm talking about for backgrounds, sprites, pallete, the works.
#3827
Posted 24 July 2011 - 10:43 AM
AerosolSP, on 23 July 2011 - 08:50 PM, said:
I just want to know what a good way is to draw artwork with genesis limitations in mind. I'm talking about for backgrounds, sprites, pallete, the works.
Some tools that will help you made by Devster (Joseph Norman).
Check out the rest of his site for some other interesting programming stuff
Some tools:
ImaGenesis 4000 beta
SGTD (Sega Genesis Tile Designer) 0.51 beta
And don't forget SonMapED for importing sprites.
#3829
Posted 26 July 2011 - 11:10 AM
#3830
Posted 26 July 2011 - 12:22 PM
http://info.sonicret..._3_%26_Knuckles
http://info.sonicret...les/Art_Editing
http://info.sonicret...lette_Locations
http://info.sonicret.../Object_Editing
http://info.sonicret.../Pointer_List_1
http://info.sonicret.../Pointer_List_2
http://info.sonicret...g/Other_Objects
http://info.sonicret...s/Level_Editing
http://info.sonicret...les/RAM_Editing
In todays standards most people tend to use what is known as a "disassembly" which is a deconstruction of the rom binary data into something more easier to change and work with. These will contain the compressed and uncompressed data files seperated into folders of different files, with the machine code data being reversed engineered back into it's mnemonic text form, most disassemblies will also come with programs such as an "assembler" with compression/decompression, aligning/padding and rom header fixing applications, to allow you to repack the machine code, the art/sound files back into a rom for people to play your changes, out wiki also has a page for all of these:
http://info.sonicret...g/Disassemblies
There are tools also you can use which may help you to edit the data more easily, some of the highly recommended tool are:
http://info.sonicret...rg/SonED#SonED2
http://info.sonicretro.org/S2LVL
http://info.sonicretro.org/SonMapEd
http://segaretro.org...26redirect%3Dno
http://info.sonicretro.org/RotSprite
http://info.sonicretro.org/PlaneED
http://segaretro.org...26redirect%3Dno
There are many other tools available which you can use instead of the above list.
#3831
Posted 26 July 2011 - 01:27 PM
#3832
Posted 27 July 2011 - 06:46 PM
#1: With the Sonic 2 .svn disasm, is it possible to manually change the titlecards? Just want to know if it is possible before I might needlessly ask Selbi to make a .svn compatible version of his utility, Sonic 2 Text Code Generator. I found a label named "TitleCardLetters" which contains the Title cards:
TitleCardLetters: TitleCardLetters_EHZ: titleLetters "EMERALD HILL" TitleCardLetters_MTZ: titleLetters "METROPOLIS" TitleCardLetters_HTZ: titleLetters "HILL TOP" ; And etc.
Changing the contents of the string after "titleletters", though produces unexpected results. For example, changing "EMERALD HILL" to "TITLE CARD", produces "ETIELCAR D AA" for the Title card in-game. It looks like as if the game merged the titlecards "TITLE CARD" and "EMERALD HILL" somehow.
------------------------------------------
#2: Regarding sfx porting, how does one determine the length of the sfx with backwards pointers?
Quote
For example: in S3&K, the sounds played when you get the fire, bubble and lightning shields use the same FM track data, which is defined only for the fire shield. The other two shields reference this, which mean they "point backward". If you are wondering, the differences between the 3 sounds are timing and instrument changes.
That still just blows my mind :P. I am trying to port the sfx from MegaMan: The Wily Wars, which has a SMPS z80 (banked) sound driver. I made the (hopefully correct) assumption that each sfx has the length of the difference of the next pointer minus the current pointer, and that each pointer is subtracted by $8000 (since bit 15 is stripped since the sfx is from a SMPS z80 banked game). As shown in my SMPSCalc program while calculating pointers for the game's sfx:
Quote
Start$ End$ [SFx] Track # Size$
1DC120 1DC143 0 23
1DC144 1DC16F 1 2b
1DC170 1DC19F 2 2f
But for those with backwards pointers, I believe my program is incorrect using the current rules
Quote
1DC405 1DC41D 18 18
1DC41E 1DC455 19 37
1DC456 1DC26D 20 FE17 [negative something]
1DC26E 1DC464 21 1F6 [a large, incorrect value?]
1DC465 1DC489 22 24
'-------------------------------------------
One more thing, could somebody port the sfx below to relative pointers, just so I can test it in my ROM to see if I extracted it correctly? I don't see any pointers/coord flags at all that would make it not play as-is. Yet it doesn't play once inserted into the hack, nor in a new Sonic 1 disasm. BTW, my hack is using the Sonic 2 clone driver, which accepts relative pointers in songs/sfx. (My laptop, which has the hex editor, is getting repaired, so I won't be able to make the changes myself. Therefore, I will need a download of the modified sfx from said porter)
The sfx:
9e 9e 9e 9e 44 00 00 00 00 00 00 85 38 39 8b 8a 8a 8a 8a 8a 8c 00 00 00 00 00 42 43 be bf 8b 8a 8a 8a 8a 8a
#3833
Posted 27 July 2011 - 07:14 PM
Tamkis, on 27 July 2011 - 06:46 PM, said:
Changing the contents of the string after "titleletters", though produces unexpected results. For example, changing "EMERALD HILL" to "TITLE CARD", produces "ETIELCAR D AA" for the Title card in-game. It looks like as if the game merged the titlecards "TITLE CARD" and "EMERALD HILL" somehow.
These labels change only what letters are loaded; you still need to change the mappings for object $34 for the frame corresponding to the zone in order for it to display correctly.
Tamkis, on 27 July 2011 - 06:46 PM, said:
There is no easy way and, to a large degree, it is a matter of convention. You need to decide whether or not you want to include those parts that are "elsewhere" in the SFX, and stick with that. You can, for example, copy to the sfx the parts that are "elsewhere" and define the length considering this. Or you can do otherwise, and discard any parts elsewhere. And strictly speaking, the length of sfx with non-backwards pointers can be just as undefined by just pointing to a location after a subsequent sfx. The only "sure-fire" way would be to parse the sfx entirely, looking for data in all pointers and making sure to keep track of the highest FM voice used. You then would copy all the data used, including all needed voices (if any) and see the total size. Even this method is flawed -- it would result in some data duplication (any shared voices or shared tracks) and would not work for any sfx that uses any sort of "global" FM voice bank.
Tamkis, on 27 July 2011 - 06:46 PM, said:
9e 9e 9e 9e 44 00 00 00 00 00 00 85 38 39 8b 8a 8a 8a 8a 8a 8c 00 00 00 00 00 42 43 be bf 8b 8a 8a 8a 8a 8a
It doesn't seem to be a valid SFX. Either that or Megaman has different SMPS headers for sfx that S1/S2/S3/SK uses. Even if you didn't post the sfx header, it still looks wrong as a sfx track -- all those 00's.
#3834
Posted 27 July 2011 - 08:51 PM
Tamkis, on 27 July 2011 - 06:46 PM, said:
TitleCardLetters: TitleCardLetters_EHZ: titleLetters "EMERALD HILL" TitleCardLetters_MTZ: titleLetters "METROPOLIS" TitleCardLetters_HTZ: titleLetters "HILL TOP" ; And etc.
Changing the contents of the string after "titleletters", though produces unexpected results. For example, changing "EMERALD HILL" to "TITLE CARD", produces "ETIELCAR D AA" for the Title card in-game. It looks like as if the game merged the titlecards "TITLE CARD" and "EMERALD HILL" somehow.
I already expected stuff like this is going to happen. Looks like the SVN version didn't do it much better than the original version did. =P
As flamewing said, the mappings still need to be re-done, and sadly, those weren't modernized yet (they can be found at Obj34_MapUnc_147BA). It looks like I really need to extend my program, to fully work with everything.
However, even though it's been a while since I worked with that thing (not to mention that I never do stuff on Sonic 2), I'm pretty sure, that you can use the program to generate the mappings, while manually changing the text strings at TitleCardLetters. Technically, the system ain't different.
#3835
Posted 29 July 2011 - 11:47 AM
#3836
Posted 29 July 2011 - 12:01 PM
Dracula, on 29 July 2011 - 11:47 AM, said:
Yes it is; to do so, you must make sure that:
- Any uncompressed song must have absolute (within bank) pointers;
- for each uncompressed song, you have to open 's2.sounddriver.asm', find the master playlist (label zMasterPlaylist or zbyte_11F5h) and add a +20h to the song's id (see the extra life entry for example).
Dracula, on 29 July 2011 - 11:47 AM, said:
Oookay... what has that got to do with that? This unused RAM segment is unused -- you can use it for whatever you want, whether or not you are using compressed/uncompressed music. The S2 sound driver decompresses music (and itself) to z80 RAM; this is separate from main RAM.
#3837
Posted 29 July 2011 - 01:22 PM
Thanks! I don't have to worry about that anymore. I just ported GHZ to Sonic 2 sound driver.
Quote
Because of Sonic 1 Sound Driver.
#3838
Posted 29 July 2011 - 04:50 PM
Dracula, on 29 July 2011 - 01:22 PM, said:
Thanks! I don't have to worry about that anymore. I just ported GHZ to Sonic 2 sound driver.
Quote
Because of Sonic 1 Sound Driver.
For that case, I would like to suggest that you take a look at this post of mine where I explain how to change the S2 sound driver to make it easier to add more songs (due to its poor bank-switching support, which means you can run into size limitations when adding music and sfx).
#3839
Posted 30 July 2011 - 12:43 PM
#3840
Posted 30 July 2011 - 01:57 PM
