PC tool request: a gui to create custom boot discs

RockinB

Established Member
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.
 

Attachments

  • Atlas_title.jpg
    Atlas_title.jpg
    10.5 KB · Views: 201
  • Atlas_main_sndpl.jpg
    Atlas_main_sndpl.jpg
    18.5 KB · Views: 206
  • Atlas_main_mineswpr.jpg
    Atlas_main_mineswpr.jpg
    17.7 KB · Views: 197
  • Atlas_main_nospr_notext.jpg
    Atlas_main_nospr_notext.jpg
    18.1 KB · Views: 203
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 :blush: )
 
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 :blush: )

[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. ;)
 
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:)
 
Originally posted by vbt+Sun, 2005-10-09 @ 04:05 PM--><div class='quotetop'>QUOTE(vbt @ Sun, 2005-10-09 @ 04:05 PM)</div><div class='quotemain'>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...

<!--QuoteBegin-Mr^Burns
@Sun, 2005-10-09 @ 06:24 PM

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:)

[post=140525]Quoted post[/post]​

[/quote]

Unreleased stuff? Please tell me more, come on!

As for the incompatibilities: possibly it's just a thing that applies to SEGA's Demo Demo Loader in general. Some few games might not boot, for whatever reason. I'm convinced all of todays homebrew games will boot.

Did you know that the japanese XBAND games do all use a Demo Demo Loader to boot? The main app looks for the NetLink modem and starts the XBAND config app if modem present. Otherwise it starts the game normally or exits to multiplayer.
 
Fighting Force rolling demo , VF3 video , Reloaded playable demo , earthworm jim beta , thats sadly all ive found even tho there were alot of cancelled games that were far into production none have reached the net.
 
Come on guys!

I know for every Saturn homebrew devver, there must be 10 or more SEGA fans out there, who are used to PC programming.

This is your chance to easily make a significant contribution to the scene.

Without to need to stick with console programming at all!

EDIT:

You can have a little bit of code to start from. I tried making a command line tool. It currently runs on MacOS X and does everything but the final mkisofs call.
 
I've been waiting for soemthing like this for quite a while. Thanks Rockin'-B. I really hope you get the help you need (hell, I wish I could be the one to provide it but I don't have the skills you need.)
 
Actually, I've already begun to create it myself.

I'm making the GUI in tcl/tk using visual tcl, so it will be platform independent. It's 80% finished.

And I'm working on a command line tool, which does the conversion using some other tools, too. That one is also 80% finished.

I'm planing to release it for Windows and MacOS X. Sources will be included, too, so that Linux (and other) users can compile it their own.
 
The commandline tool is now sort of completely working on MacOS.

You can create:

- a multi game saturn disc from multiple Atlas Game Packs,

- a single game saturn disc from one Atlas Game Pack

- an Atlas Game Pack from game files and (optional) pre-converted media files

So I just need to link it to the GUI I made. But I still have to port the commandline tool to Windows and find out how to release it best with tcl/tk included.

Then will come a little bit of testing and then it'll be released. I guess we will see other Atlas related releases before.
 
The Atlas Creator tools are available for Windows and MacOS X, they are run by batch files or by command line.

I've been working on a GUI written in Tcl/TK, too, but it's not complete.

Today, I think it would be even better to make all this a server application. People could just select their games on a website and get a ready to burn multi-game CD image. That would be cool. I'm planning to change to a better hosting for my website www.rockin-b.de. Then I would be able to implement something like this.
 
Back
Top