Publishing games.

All general 3DO chat here please.

Moderators: 3DO Experience, Devin, Bas, 3DOKid

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Mon Jul 21, 2008 9:02 pm

The areas that I've determined to be important are:

0x0000-0x008F Disk label
0x0800-0x93F Rom tags, plus CD directory structure.
0x71800-97057 Banner screen. (It always seems to be located here).

I have been able to create a bootable image (under FreeDO), by copying the first 0x1000 bytes to the newly created image from OperaFS[De]Compiller.

User avatar
Gir Draxa
3DO ZERO USER
Posts: 243
Joined: Sat Feb 10, 2007 8:34 pm
Location: USA (occasionally Thailand)
Contact:

Post by Gir Draxa » Mon Jul 21, 2008 9:04 pm

cdoty wrote:
I got it to work. It works, if I extract the image, and rebuild it before exiting the program.
CDOTY, when you rebuild the image, you have to select the folder with your files in it and open it before you click the build button. if you just select the folder, but the files in it are not showing, it will build an image out of the entire area your project folder is in. This might be why your image files are growing so huge.

Drax
CEO of The (in search of a home) CD-i & 3DO Collectives

Just slightly behind at being ahead of our time!

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Mon Jul 21, 2008 9:06 pm

Gir Draxa wrote: CDOTY, when you rebuild the image, you have to select the folder with your files in it and open it before you click the build button. if you just select the folder, but the files in it are not showing, it will build an image out of the entire area your project folder is in. This might be why your image files are growing so huge.
That was the problem. Thanks.

User avatar
Gir Draxa
3DO ZERO USER
Posts: 243
Joined: Sat Feb 10, 2007 8:34 pm
Location: USA (occasionally Thailand)
Contact:

Post by Gir Draxa » Mon Jul 21, 2008 9:07 pm

cdoty wrote: I have been able to create a bootable image (under FreeDO), by copying the first 0x1000 bytes to the newly created image from OperaFS[De]Compiller.
Well done. The created by operafs are bootable on 1.7WIP, did you get it to work on a later version?

Drax
CEO of The (in search of a home) CD-i & 3DO Collectives

Just slightly behind at being ahead of our time!

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Mon Jul 21, 2008 9:29 pm

WindowsKiller wrote:And don't use FreeDO to test modified images, because FreeDO doesn't care about valid encryption anyway. It can boot unencrypted games without even the need for a special bios (which is the key point, as afaik, the bios just reads the signatures and refuses to boot the disc if they don't match. FreeDO seems to patch that part of the bios.)
Are there two possible failures? I can get it to display the BannerScreen, but it won't run the program. Would this be a problem with the signatures file?
Gir Draxa wrote: Well done. The created by operafs are bootable on 1.7WIP, did you get it to work on a later version?
Rebuilding the image always stops after displaying the BannerScreen.
Last edited by cdoty on Mon Jul 21, 2008 10:13 pm, edited 2 times in total.

User avatar
Gir Draxa
3DO ZERO USER
Posts: 243
Joined: Sat Feb 10, 2007 8:34 pm
Location: USA (occasionally Thailand)
Contact:

Post by Gir Draxa » Mon Jul 21, 2008 9:34 pm

cdoty wrote:
Are there two possible failures? I can get it to display the BannerScreen, but it won't run the program. Would this be a problem with the signatures file?
This is the problem I ran into. I would get it to the banner screen, then FAIL. A couple tests continued to load for a while, then reset, but most were toast immediatly.

Drax
CEO of The (in search of a home) CD-i & 3DO Collectives

Just slightly behind at being ahead of our time!

User avatar
Gir Draxa
3DO ZERO USER
Posts: 243
Joined: Sat Feb 10, 2007 8:34 pm
Location: USA (occasionally Thailand)
Contact:

Post by Gir Draxa » Mon Jul 21, 2008 9:35 pm

When booting on a 3DO testers unit that is.

Drax
CEO of The (in search of a home) CD-i & 3DO Collectives

Just slightly behind at being ahead of our time!

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Tue Jul 22, 2008 3:31 am

I received a reply back from RJ. The encryption was kept exceeding secret. He only had a part of the key, even as a executive in the company.

He said that "Other than a very secure room, the actual key existed only in one place: in a lawyer's safe somewhere."

So, the only hope outside of reversing the encryption, would be for the 'new' owners of the 3DO to release it like Atari did for the Jaguar. That's assuming anyone can actually locate the key.

Obviously, Mnemonic found a way around it. Maybe he found a generic key. I wonder if it's like the Jaguar CD, in that the system could be used to encode the disk. The logging feature of FreeDO would make it fairly straight forward to do.

Mobius

Post by Mobius » Tue Jul 22, 2008 3:52 am

I had an idea for a bootloader, but it depended on being able to recompile an ISO. To make sure I'm getting this straight, nobody has been able to get a recompiled ISO to run on anything other than FreeDO WIP 1.7?

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Tue Jul 22, 2008 3:56 am

Mobius wrote:I had an idea for a bootloader, but it depended on being able to recompile an ISO. To make sure I'm getting this straight, nobody has been able to get a recompiled ISO to run on anything other than FreeDO WIP 1.7?
Yep. A valid directory table can be copied to the disk but, the directory table does not match the iso. It appears as if the 3DO only looks for a valid directory table. It should be possible to do, if you could create an image that is the same size as one of the existing executable files on the cd. Then, you just have to overwrite the existing executable, and change the name of the launched program in $boot/System/Scripts/startopera. The executable would have to use only resources that exist on the existing ISO.

I was able to add two printfs to the 3do_bounce example, and paste it over the existing file. It was about 2k smaller than the original, but it worked without any problems.

I also modified the startopera to automatically launch $sdkdemos/3do_bounce/3do_bounce.

The CD works on a real system also.

Now the only real challenge left is to figure out a way to change the name and size of files on the disk.

Once that challenge has been completed, it becomes easy enough to test homebrew on a real 3DO, and have it encrypted once it's ready.

Mobius

Post by Mobius » Tue Jul 22, 2008 5:30 am

My intention was to write a simple program that just launches another binary on the disc and then have that encrypted. So, for example, LaunchMe would just be a call to something like "RunMe". Then to make a bootable disc, you would compile your program, decompile the bootloader ISO, replace "RunMe" with your program, then recompile the ISO.

I haven't looked at the encryption enough to know how feasible this is, but it's sounding less-so than what I was thinking.

cdoty
Bringer of game signing
Posts: 112
Joined: Thu Jan 18, 2007 5:42 pm
Location: Houston, TX
Contact:

Post by cdoty » Tue Jul 22, 2008 6:47 am

Mobius wrote:I haven't looked at the encryption enough to know how feasible this is, but it's sounding less-so than what I was thinking.
I don't think that Mnemonic changed any of the 'encrypted' files (system files or BannerScreen). As, WindowsKiller stated, it sounds like only the file system 'hash' or ID values have been recomputed.

In looking at the dump from OperaFS Decompiler, there are IDs for the volume, root, each directory HEAD, and each ENTRY. These may simply be a CRC or additive checksum. I don't think the ENTRY IDs are used.

Fire Ball may be an ideal game to use. It doesn't have a BannerScreen, LaunchMe is pretty big, and there are tons of data files to overwrite. Although, it might use older versions of the system files.

User avatar
3DOKid
3DO ZONE ADMIN
Posts: 4683
Joined: Sat Jan 13, 2007 4:21 pm
Location: Cambridgeshire, UK
Contact:

Post by 3DOKid » Wed Aug 06, 2008 5:57 pm

So -- how we doin'?

WindowsKiller
3DO ZERO USER
Posts: 109
Joined: Fri Aug 08, 2008 12:35 pm
Location: Germany

Post by WindowsKiller » Sat Aug 23, 2008 10:12 am

http://www.google.com/patents?id=23aiAA ... _r&cad=1_0

See [0192] for how the encryption basically works.

User avatar
3DO Experience
3DO ZONE ADMIN
Posts: 3686
Joined: Sun Jun 24, 2007 8:47 am
Location: U.S.A.

Post by 3DO Experience » Thu Jul 01, 2010 1:55 am

In honor of finally being able to sign 3DO discs this thread is hereby resurrected.

Post Reply