HomeForumsWhat's newResources 
 
 
PC tool request: a gui to create custom boot discs
RockinB - Oct 8, 2005
 RockinB Oct 8, 2005
Hey guys,

you know Saturn demo discs (SEGA Flash vol.1 - vol.?),

you also know the customizable Dream Inducer bootloader for Dreamcast

and you also know the Self Boot Inducer, which creates a custom Dreamcast disc from a number of SBI packages, which uses Dream Inducer to boot games from a menu.

Wouldn't it by fine to have such an easy solution for Saturn, too? :agree

Now I programmed an equivalent for Dream Inducer:

Atlas for SEGA Saturn.

What's needed is a GUI for PC which helps to create a custom Atlas disc from a number of Atlas game packs.

It would'nt be too hard of a job for someone to do it,

as the GUI would just call other tools (like mkisofs, unrar, maybe bgcon and an image conversion program) and do some temporary file management (folder creation, file movement, file delete).

If there is someone with some GUI experience willing to try the task, I'd be very happy.

Screenshots:

[attachmentid=1534][attachmentid=1535]

[attachmentid=1536][attachmentid=1537]

Here are some specs of Atlas:

Code:
  
Atlas

Demo Demo Loader for SEGA Saturn

by The Rockin'-B, [url]www.rockin-b.de[/url]

version 05/10/09

Atlas is a fully customizeable bootloader

for run on SEGA Saturn videogame system.

(similar to the Self Boot Inducer method for Dreamcast)

Features:

- up to 50 games per disc

- multiregion disc

- multitap and pad disconnection support

- resolution 352x224

- 4 methods of per-game info

- fully customizable

- 3D display

Controls:

  LEFT / RIGHT    -    change selected game

                NOTE: when releasing LEFT/RIGHT

                  1. the audio file playback is stoppe

                  2. the selected game info screen is loaded from CD

                  3. and the audio file is played back, if present

                  -> so there might be a short wait time involved

  START        -    boot selected game

  A          -    show game info screen

  B          -    back to main screen

  C          -    credits screen

  A or Y or Z     -    play game audio information

  START+A+B+C     -    exit Atlas and return to multiplayer

Things to customize:

  Atlas:

    - main screen image (352x224, 15bpp)

    - credits screen image (352x224, 15bpp)

  

  For each game (not required, optionally):

    - thumbnail screenshot sprite (64x64, 15bpp)

    - info screen image (352x224, 15bpp)

    - audio file (.AIF, supports ADPCM, up to 60min)

    - text file with:

      - CDDA start track specified

      - info text (up to 8 lines of up to 20 characters)

Not customizeable:

- title screen

- title sound

- button help sprites

- button mapping

- default data (if not available)

 for "GAMENAME.IMG", "GAMENAME.SPR", "GAMENAME.TXT"

How to customize:

  1. create temporary folder "myAtlas"

  2. create an ISO:

    2.1 create folder "cd" in "myAtlas" and

      put the 8 Atlas files in:

      0.bin

      ABS.TXT

      ATLAS.IMG  (your custom)

      BIB.TXT

      CREDITS.IMG (your custom)

      CPY.TXT

      FLD_KNL.BIN

      README.TXT (your custom)

      

    2.2 download and extract Mkisofs.exe and Cygwin1.dll

      into "myAtlas"

      

    2.3 create file "MAKEISO.BAT" into "myAtlas":

      mkisofs -quiet -sysid "SEGA SATURN" -volid "SaturnApp" -volset "SaturnApp" -publisher "SEGA ENTERPRISES, LTD." -preparer "SEGA ENTERPRISES, LTD." -appid "SaturnApp" -abstract "ABS.TXT" -copyright "CPY.TXT" -biblio "BIB.TXT" -generic-boot ip.bin -full-iso9660-filenames -o myAtlas.iso cd

      

    2.4 add game data

      for each game add data into "cd":

      (see below how to create)

      "GAMENAME"    <- folder with all files on game CD

      "GAMENAME.IPI"  <- game ip.bin  

      "GAMENAME.IMG"

      "GAMENAME.SPR"

      "GAMENAME.TXT"

      "GAMENAME.AIF"

    2.5 put Atlas' "ip.bin" into "cd"

      

  3. create a .CUE sheet:

    CDDA tracks of a game MUST BE consecutive.

    First track of a game MUST BE the same

    like specified in "GAMENAME.TXT".

    Here it would be

    "2" for "GAMENAM1.TXT" and

    "5" for "GAMENAM2.TXT".

    

    Example "myAtlas.cue" sheet:

      FILE "Atlas.ISO" BINARY

       TRACK 01 MODE1/2048

         INDEX 01 00:00:00

         POSTGAP 00:02:00

      FILE "GAMENAM1_Track1.wav" WAVE

       TRACK 02 AUDIO

        PREGAP 00:02:00

        INDEX 01 00:00:00

      FILE "GAMENAM1_Track2.wav" WAVE

       TRACK 03 AUDIO

        INDEX 01 00:00:00

      FILE "GAMENAM1_Track3.wav" WAVE

       TRACK 04 AUDIO

        INDEX 01 00:00:00

      FILE "GAMENAM2_Track1.wav" WAVE

       TRACK 05 AUDIO

        INDEX 01 00:00:00

      FILE "GAMENAM2_Track2.wav" WAVE

       TRACK 06 AUDIO

        INDEX 01 00:00:00

      

  4. burn "myAtlas.cue" sheet with Nero, CDRWin or other

      

How to create custom data:      

  Filenames are importand (8.3 format).

  Each game MUST HAVE:

    "GAMENAME"   - a folder where the game files are in

    "GAMENAME.IPI" - an IP.BIN file 

  Each game CAN HAVE (not required, optionally):

    "GAMENAME.IMG" - info screen 

    "GAMENAME.SPR" - thumbnail screenshot 

    "GAMENAME.TXT" - text file 

    "GAMENAME.AIF" - audio file 

  

  "GAMENAME.IMG" full screen image (352x224, 15bpp):

  "ATLAS.IMG" main screen:

  "CREDITS.IMG" credits screen:

    1. save as "GAMENAME.TGA",

      size MUST MATCH width=352 and height=224

    2. use BGCON to convert it to Saturn format

      (uncompressed raw bitmap 15bpp binary)

      2.1 create TGA2IMG.TXT:

        CD 15

        IF TGA

        IM BITMAP

        CMP NONE

        RGBHI ON

        TRANS -1 

        OF BIN

        L atlas.tga

        S atlas.img

        L CREDITS.tga

        S CREDITS.img

        L GAMENAME.tga

        S GAMENAME.img

        .....

      2.2 create TGA2IMG.BAT:

        BGCON.EXE TGA2IMG.TXT      

    3. convert by opening TGA2IMG.BAT

    

  "GAMENAME.SPR" thumbnail screenshot sprite (64x64, 15bpp)

    1. save as .TGA,

      size MUST MATCH width=64 and height=64

    2. use BGCON to convert it to Saturn format

      (uncompressed raw bitmap 15bpp binary)

      2.1 create TGA2SPR.TXT:

        CD 15

        IF TGA

        IM BITMAP

        CMP NONE

        RGBHI ON

        TRANS -1 

        OF BIN

        L GAMENAME.tga

        S GAMENAME.img

        .....

      2.2 create TGA2SPR.BAT:

        BGCON.EXE TGA2SPR.TXT      

    3. convert by opening TGA2SPR.BAT

  "GAMENAME.TXT" text file:

    - first line specifies the CDDA start track

     (default: 2)

    - following 8 lines are printed to screen AS IS

     (up to 20 characters, beyond 20 are skipped)

    

  "GAMENAME.AIF" audio info file:

    - up to 60 minutes long

    - can be ADPCM encoded

  "GAMENAME.IPI" ip.bin file:

    - this file is in the first couple of sectors of a Saturn CD.

     In some homebrew Saturn games it's included as a file.

     In all other cases such like commercial game,

     You'll have to extract the first sectors (< 30) of a CD or CD image

     with IsoBuster and remove the zero bytes after the IP.BIN with a hex

     editor. Usually IP.BIN's are 4-5 kBytes size,

Special thanks to VBT, who made the

MultiBoot Demo Demo Loader

for SX Saturn Coding Contest 2003.

 vbt Oct 8, 2005
eheh, I wanted to do that too but never finished my work, there was two missing things on my bootloader. Firstly the audio track offset for each game, you have done this. The second thing was a problem to boot some games like outrun. Also I had the feeling that the starting address of each game had to be the same as the bootloader binary. For instance Taito games had not the default starting address to boot so it needed a specific binary.

Nice work :thumbs-up: , is there transparency support on tumbnails ? (ok it's a small detail )

 RockinB Oct 9, 2005

  
	
	
Originally posted by vbt@Sun, 2005-10-09 @ 04:05 PM

Nice work :thumbs-up: , is there transparency support on tumbnails ? (ok it's a small detail )

[post=140519]Quoted post[/post]



Currently not, for that reason:

I do manually set the RGB flag for every pixel, since I can't guarantee that 3rd party images have that set.

Maybe it would be better to remove that (thanks for the idea). I converted all sprites with BGCON. There were some problems with transparent pixel support using BGCON, since that one is for backgrounds, not sprites.

BTW: such a PC tool could also assist in creating Atlas game packs.

Can't await to pack demos from all my SEGA Flash demo CD's onto a single CD. Plus the webbrowser.

 Mr^Burns Oct 9, 2005
Yeah ive been waiting for something like this ever since i wanted to make a disc with all unreleased stuff for saturn with vbt's menu but his had some incompabilities which Atlas doesnt have

 RockinB Oct 9, 2005

  
	
	
Originally posted by vbt+Sun, 2005-10-09 @ 04:05 PM-->
QUOTE(vbt @ Sun, 2005-10-09 @ 04:05 PM)
The second thing was a problem to boot some games like outrun. Also I had the feeling that the starting address of each game had to be the same as the bootloader binary. For instance Taito games had not the default starting address to boot so it needed a specific binary.

[post=140519]Quoted post[/post]

[/b]



This has to be investigated. Interesting...