HomeForumsWhat's newResources 
 
 
About IP.BIN
vbt - Apr 21, 2003
 vbt Apr 21, 2003
Is there a tool to extract the ip.bin for a saturn game ? Also I d' like to know if this file need to be different for each game, for example I always use the same file (found somewhere on internet) for my tests. Maybe it's needed to to make one suitable for each software. I'm sure someone on this forum can help me.

 Taelon Apr 21, 2003
I'll try and answer what I can for now from the top of my head (I'm at work)... Do send me a PM with more questions if you have any so I can give you links and stuff at home.

Yes, each Dreamcast game has its own IP.BIN. I'm assuming you're using some generic IP.BIN that works with your homebrew stuff or whatever it is you're doing, as you haven't mentioned having a problem with it. But for rips of commercial games it probably wouldn't work.

There are indeed tools to extract the IP.BIN from images such as .cdi, as well as a great IP.BIN editor to change all the flags and stuff contained inside it. I just can't think of the links right now. But what helps knowing is that IP.BIN is always 32768 bytes large and is contained in the first 16 sectors of a given ISO9660 file (a CD track containing an ISO filesystem, just to make it perfectly clear). So that's sectors 0 to 15 (at 2048 bytes each); the actual filesystem and its contents start at sector 16.

(This is also the reason you usually don't see an IP.BIN file on a selfbootable Dreamcast game, because it's not part of the filesystem anymore. Non-selfbootable games contain IP.BIN as a file so whatever boot disc you use can find it and start the game.)

There is a lot of stuff in IP.BIN - the game name, publisher, etc., name of the first file to load and execute (usually 1ST_READ.BIN), whether the game is a SegaOS (Katana) one or a WinCE one, whether VGA/RGB are supported, what kinds of input the game accepts - there are separate flags for each single button and direction on the normal controller, as well as lightguns, mice, whatnot - what regions the game will work in.... TONS of stuff! And there's even executable code inside IP.BIN, usually of the sort that finds and loads the specified file.

You might have heard of a serial slave CD image; it's a program to make the DC listen to a terminal program running on your PC via a coders cable or Ethernet linkup via BBA. The interesting part is that the serial slave is small enough to fit into IP.BIN itself, so that the only actual file contained in the ISO track is a readme.txt (just so there is *something*). Cool eh

 slinga Apr 21, 2003
I think he was talking about for the saturn...

I don't know much about the ip.bin but I'm pretty sure that the ip.bin has to have the address in memory that the program must be loaded to. I don't remember the exact offsets, but it's in two places in the ip.bin. This value has to match the value that the binary was compiled to. You can change that value from slStart in the makefile I believe. I'm not 100% positive though, so get a confirmation from one of the other guys.

For extracting the ip.bin, just use cdrwin and extract the first 32k of the cd...(atleast I think it was 32k, not at home can't check).

 vbt Apr 21, 2003

  
	
	
Originally posted by slinga@Apr 21, 2003 @ 09:13 PM

I think he was talking about for the saturn...


You're right but it doesn't mater, I tried some tools for Dreamcast, but it always said, it's not a Dreamcast GDROM. I tried some manual extraction but I prefer to have a complete explaination on how to extract correctly a IP.BIN. My goal was to exctract Outrun IP.BIN to test with the program loader I ill try to extract a 32k block tomorrow but I have the feeling Saturn's IP are not so big.

 MasterAkumaMatata Apr 21, 2003
If you are extracting from the game CD, use CDRWin

[*]click Extract Disc/Tracks/Sectors button

[*]Extract Mode... Select Sectors

[*]choose CD Reader

[*]enter output filename (e.g., IP.BIN )

[*]Sector Selection Start: 0

[*]Sector Selection End: 15

[*]Datatype: Date Mode 1 (2048)

[*]click START button



If you have an image file, you can try mounting it as a virtual drive and follow the CDRWin instructions above. Alternatively, convert your image to MODE1/2048 (if it's not already MODE1/2048) and use a hex editor to extract the first 32,768 bytes to a new file.

start: 0x0000

end: 0x7FFF

 vbt Apr 21, 2003
MasterAkumaMatata, your answer is perfect So Taelon and Slinga were right for the size of the IP.BIN (32k). Thanks a lot

 Taelon Apr 22, 2003
Ohman. I'm such a freakin'

DUMBASS.

Rambling my butt off about all this Dreamcast crap, totally having missed the word "Saturn" in vbt's post. I am SO going to be sick.... somebody just bury me, please

Noooo, not you, antime & mal ....

 vreuzon Apr 22, 2003
You can have a look at it too :

Disc Format Standards Specification Sheet Ver. 1.0. Specifies the format and layout of a Saturn disc, ISO9660 file system, IP.BIN and other things.

http://www.helsinki.fi/~ammonton/sega/file...-0517...

and

Tools for building an IP.BIN for the GNU development environment.

http://www.cs.helsinki.fi/~ammonton/sega/f...es/IP...

All from antime's page.

 mal Apr 22, 2003

  
	
	
Originally posted by Taelon@Apr 22, 2003 @ 04:35 PM

I am SO going to be sick.... somebody just bury me, please

Noooo, not you, antime & mal ....


What would I say?

I wasn't going to say anything...


 Taelon Apr 23, 2003
Heheh, just me keeping up what seems on its way to become a running gag between you guys and me... y'know, with me always making these STUPID mistakes/oversights and antime talking of me dropping my pants and you kinda laughing with him and all that. Just me being goofy

 vbt Apr 24, 2003
Do you think I can remove all zeros at the end of the file or is it useless ?

 antime Apr 25, 2003
Zeroes are zeroes. Most IPs are much smaller than the space allowed, a few kb or so.

 vbt Apr 27, 2003
I compiled the sources from IPGNUSRC.zip and nothing works when using this IP even a simple prog.

Any idea ?

Now it works I've redefined APP_ENTRY to 0x6004000 and DATA.L H'06004000 but I want to use 0x6010000 and there must be something else to redefine, I'm wondering what's again needed.

 vbt Apr 27, 2003
I notice that SLSTART is always set to 06004000 can it cause a problem ?