
Well, Hi again, here's another guide from me.
You'll need:
- ImaGenesis
- IrfanView
- The Sega Data Compressor
Instructions:
1. Find a picture, any pic you want (I recommend one which doesn't use much colors, and closest to fit on screen), I'm gonna use this one for example:
http://i.imgur.com/JEbkh.jpg
2. Run IrfanView
Open the picture
Click on "Image" -> "Resize/Resample"
Set Width to: 320 and Height to: 224 (don't forget to uncheck: "Peserver aspect ratio")
Now click "Image" -> "Decrease color Depth..."
Set to "16 Colors (4BPP)" [And leave "Use Floyd-Steinberg dithering" checked, for better results]
See if it looks good, then Save the pic, it should look like this:

3. Run ImaGenesis
- Open the optimized pic
- Click on "Mode" -> "15 color [...] 8x8 tiles, Optimized" (Second option)
- Click on "Actions" -> "Quantize Now" (or press F5) [Remember, the Genesis has limited colors]
- Click on "Actions" again, and save the respective files (Tile data, Pallette data and Tile map)
This is what you should have now in "LS_BG":
GFX_u.bin
Map_u.bin
Pal.bin
The Art and Mappings will be compressed to save space in ROM
4. Run The Sega Data Compressor
Click on "Nemesis" set the input file ("GFX_u.bin") and set the output file ("GFX.bin"), click on "Compress"
Click on "Enigma", do the same thing as the GFX but this time for the Mappings ("Map_u.bin" to "Map.bin", and click "Compress")
5. Open sonic1.asm
Replace:
moveq #2,d0 bsr.w PalLoad2 ; load level select pallet lea ($FFFFCC00).w,a1 moveq #0,d0 move.w #$DF,d1 Title_ClrScroll: move.l d0,(a1)+ dbf d1,Title_ClrScroll ; fill scroll data with 0 move.l d0,($FFFFF616).w move #$2700,sr lea ($C00000).l,a6 move.l #$60000003,($C00004).l move.w #$3FF,d1 Title_ClrVram: move.l d0,(a6) dbf d1,Title_ClrVram ; fill VRAM with 0 bsr.w LevSelTextLoad
With:
jsr Pal_FadeFrom ;Fade-out is necesarry now moveq #2,d0 bsr.w PalLoad1 lea ($FFFF0000).l,a1 lea (Eni_LevSel).l,a0 move.w #1,d0 jsr EniDec lea ($FFFF0000).l,a1 move.l #$40000003,d0 moveq #39,d1 moveq #29,d2 jsr ShowVDPGraphics move.l #$40200000,($C00004).l lea (Nem_LevSel).l,a0 jsr NemDec lea ($FFFFCC00).w,a1 moveq #0,d0 move.w #$DF,d1 @ClrScroll: move.l d0,(a1)+ dbf d1,@ClrScroll lea ($FFFFD000).w,a1 moveq #0,d0 move.w #$7FF,d1 @ClrObjRam: move.l d0,(a1)+ dbf d1,@ClrObjRam lea ($FFFFF628).w,a1 moveq #0,d0 move.w #$15,d1 @ClrVars: move.l d0,(a1)+ dbf d1,@ClrVars lea ($FFFFF700).w,a1 moveq #0,d0 move.w #$3F,d1 @ClrVars2: move.l d0,(a1)+ dbf d1,@ClrVars2 lea ($FFFFFE60).w,a1 moveq #0,d0 move.w #$47,d1 @ClrVars3: move.l d0,(a1)+ dbf d1,@ClrVars3 lea ($FFFFF800).w,a1 moveq #0,d0 move.w #$7F,d1 @ClrSprTable: move.l d0,(a1)+ dbf d1,@ClrSprTable move.l #0,($FFFFF616).w ;Clean VScroll move #$2700,sr lea ($C00000).l,a6 move.l #$60000003,($C00004).l move.w #$3FF,d1 @ClearBG: move.l d0,(a6) dbf d1,@ClearBG bsr.w LevSelTextLoad jsr Pal_FadeTo
Next:
add these before "EndOfRom":
(again, in your style)
Nem_LevSel: incbin "LS_BG/GFX.bin" even Eni_LevSel incbin "LS_BG/Map.bin" even
Don't forget the pallet, too.
Find:
Pal_LevelSel: incbin pallet\levelsel.bin
Replace with:
Pal_LevelSel: incbin "LS_BG\Pal.bin" even
THE RESULT:

NOTE: results may vary (ex. if takes a lot to show the BG, too much GFX in VRAM and random colors in the font)
Don't forget to give credit to me for this guide
...And the other people who made the tools
Edited by GenesisFan64, 01 September 2011 - 11:06 PM.



This topic is locked










