11 March 2016 - Forum Rules

Main Menu

How to extract this file?

Started by bruceteh95, October 29, 2013, 02:32:26 PM

Previous topic - Next topic


Hi , i am newbie and i wan translate a game ? but i dun noe hw to extract this file ~ everybody can hlp me?? i using quickbms~


What game (it may have helper files alongside it you did not include), system (how the hardware works tends to influence how the software, compression and everything in between works) and do you have any idea what it is supposed to contain?
A casual search only brings back for something to do with the extension.

00000000 4E46 5034 2E30 2028 6329 4E4F 424F 4459 3139 3937 2D31 3939 3800 0000 0000 0000 NFP4.0 (c)NOBODY1997-1998.......
00000020 3E00 0000 0200 0000 0000 0000 0000 0000 4E46 5034 2E30 2B20 2863 2953 6976 6131 >...............NFP4.0+ (c)Siva1
00000040 3939 3900 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 999.............................
00000060 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ................................

That starts the file. Dates that early could mean it is an old game or it could mean someone used an old format (be it in general or because it was a rerelease/port of an old game).

Even basic zip compression reduces the file size to under 2 megabytes (from the 4.7 it starts at)

A strings search brings back a lot of garbage but before then

0x00000000 0x00000019 NFP4.0 (c)NOBODY1997-1998
0x00000030 0x00000013 NFP4.0+ (c)Siva1999
0x00000800 0x0000000B ACTNAME.DAT
0x00000814 0x0000000B ACTSTAT.DAT
0x00000828 0x0000000A B04501.TIP
0x0000083C 0x0000000A B04502.TIP
0x00000850 0x00000008 B999.OCF
0x00000864 0x00000008 B999.TCF
0x00000878 0x0000000A B99901.TIP
0x0000088C 0x0000000A B99932.TIP
0x000008A0 0x0000000A BOMSET.OCF
0x000008B4 0x0000000C BTLPARTS.TIP
0x000008C8 0x00000008 CARD.DAT
0x000008DC 0x0000000B CARD001.TIM
0x000008EF 0x0000000C GCARD002.TIM
0x00000903 0x0000000C GCARD003.TIM
0x00000917 0x0000000C GCARD004.TIM
0x0000092B 0x0000000C GCARD005.TIM
0x0000093F 0x0000000C GCARD006.TIM
0x00000953 0x0000000C GCARD007.TIM
0x00000967 0x0000000C GCARD008.TIM
0x0000097B 0x0000000C GCARD009.TIM
0x0000098F 0x0000000C LCARD010.TIM
0x000009A3 0x0000000C GCARD011.TIM
0x000009B7 0x0000000C GCARD012.TIM
0x000009CB 0x0000000C GCARD013.TIM
0x000009DF 0x0000000C GCARD014.TIM
0x000009F3 0x0000000C GCARD015.TIM
0x00000A07 0x0000000C GCARD016.TIM
0x00000A1B 0x0000000C GCARD017.TIM
0x00000A2F 0x0000000C GCARD018.TIM
0x00000A43 0x0000000C GCARD019.TIM
0x00000A57 0x0000000C GCARD020.TIM
0x00000A6B 0x0000000C GCARD021.TIM
0x00000A7F 0x0000000C GCARD022.TIM
0x00000A93 0x0000000C GCARD023.TIM
0x00000AA7 0x0000000C GCARD024.TIM
0x00000ABB 0x0000000C GCARD025.TIM
0x00000ACF 0x0000000C GCARD026.TIM
0x00000AE3 0x00000009 GCS00.OCF
0x00000AF8 0x00000008 CS01.OCF
0x00000B0C 0x00000008 E001.MCT
0x00000B20 0x00000008 E002.MCT
0x00000B34 0x00000008 FACE.TIP
0x00000B47 0x00000009 6FONT.TIM
0x00000B5C 0x0000000C GAMEOVER.TIM
0x00000B6F 0x00000009 $ITEM.DAT
0x00000B84 0x00000008 LOGO.TIM
0x00000B97 0x0000000A $MARUC.TIM
0x00000BAB 0x00000009 $MENU.TIP
0x00000BC0 0x00000009 MOVIE.DAT
0x00000BD4 0x0000000B NOWLOAD.TIP
0x00000BE8 0x0000000B PSKANJI.FON
0x00000BFB 0x0000000B 'SHADOW.TIM
0x00000C10 0x00000009 SOUND.DAT
0x00000C24 0x00000009 STAFF.DAT
0x00000C38 0x0000000B STAFF00.TIM
0x00000C4C 0x0000000B STAFF01.TIM
0x00000C60 0x0000000A TEST01.OCF
0x00000C74 0x00000009 TITLE.TIM
0x00000C87 0x0000000D $TITLE000.TIM
0x00000C9C 0x0000000C TITLE001.TIM
0x00000CB0 0x00000008 X005.CCP
0x00000CC4 0x00000008 X005.TIP
0x00001859 0x00000005 (((((
0x00001C55 0x00000005 (((((
0x00002034 0x0000000A B04501.TIM
0x00002054 0x0000000A B04502.TIM

Just so I note it a bit further down and after a lot of garbage there is B04503.TIM at 0x0000E034. It may be everything and it may just be a subarchive.

Many of those look like names. TIM is a known Playstation graphics format ( ).
However I am not going there just yet as between those what look like file names are, they start at 800 hex with the name so I guess it is name - some data and then the next name.
It does appear to be fixed length as well.

Small sample once pasted into a new file

00000000 4143 544E 414D 452E 4441 5400 0000 0002 0000 0001 ACTNAME.DAT.........
00000014 4143 5453 5441 542E 4441 5400 0000 0003 0000 0001 ACTSTAT.DAT.........
00000028 4230 3435 3031 2E54 4950 0000 0000 0004 0000 0018 B04501.TIP..........
0000003C 4230 3435 3032 2E54 4950 0000 0000 001C 0000 001D B04502.TIP..........
00000050 4239 3939 2E4F 4346 0000 0000 0000 0039 0000 0013 B999.OCF.......9....
00000064 4239 3939 2E54 4346 0000 0000 0000 004C 0000 0001 B999.TCF.......L....
00000078 4239 3939 3031 2E54 4950 0000 0000 004D 0000 0018 B99901.TIP.....M....
0000008C 4239 3939 3332 2E54 4950 0000 0000 0065 0000 0002 B99932.TIP.....e....
000000A0 424F 4D53 4554 2E4F 4346 0000 0000 0067 0000 0015 BOMSET.OCF.....g....
000000B4 4254 4C50 4152 5453 2E54 4950 0000 007C 0000 000A BTLPARTS.TIP...|....
000000C8 4341 5244 2E44 4154 0000 0000 0000 0086 0000 0001 CARD.DAT............
000000DC 4341 5244 3030 312E 5449 4D00 0000 0087 0000 0047 CARD001.TIM........G
000000F0 4341 5244 3030 322E 5449 4D00 0000 00CE 0000 0047 CARD002.TIM........G
00000104 4341 5244 3030 332E 5449 4D00 0000 0115 0000 0047 CARD003.TIM........G

That looks like name and probably two variables. Name is alphabetical order all the way through.
The usual suspects are location and size though you can have compression indicators, file numbers and much more besides.
The first numbers appear to be counting upwards and there are a lot of repeats in the second column, especially of files with the same extension which is usually a good indication that they are size values.
The highest number (of the last entry) does not even make it out of the file name table and not even close to the 499000 hex that is the end of the file (probably not solely a end of header/relative address scheme). However adding the "size" value to the "address" value does give you the next address in the checks I did.

I could try some stuff here but more looking is in order.
The first file starts at 1000 hex (assuming it does not start with some number of 00 bytes in which case it could be before then).

Depending upon the system would say whether I need to flip it or not. However with those numbers adding the way they do I am not quite so inclined to do it.
This means shifting numbers which is known to happen in archive formats and given the compressibility and padding that is likely.

I will spare you the spreadsheet stage as I brute forced it. You will want to shift so as you multiply by 2048 (or just multiply by 2048)

ACTNAME.DAT 1000 800
ACTSTAT.DAT 1800 800
B04501.TIP 4000 C000
B04502.TIP E000 E800
B999.OCF 1C800 9800
B999.TCF 26000 800
B99901.TIP 26800 C000
B99932.TIP 32800 1000
BOMSET.OCF 33800 A800
CARD.DAT 43000 800
CARD001.TIM 43800 23800
CARD002.TIM 67000 23800
CARD003.TIM 8A800 23800
CARD004.TIM AE000 23800
CARD005.TIM D1800 23800
CARD006.TIM F5000 23800
CARD007.TIM 118800 23800
CARD008.TIM 13C000 23800
CARD009.TIM 15F800 26000
CARD010.TIM 185800 23800
CARD011.TIM 1A9000 23800
CARD012.TIM 1CC800 23800
CARD013.TIM 1F0000 23800
CARD014.TIM 213800 23800
CARD015.TIM 237000 23800
CARD016.TIM 25A800 23800
CARD017.TIM 27E000 23800
CARD018.TIM 2A1800 23800
CARD019.TIM 2C5000 23800
CARD020.TIM 2E8800 23800
CARD021.TIM 30C000 23800
CARD022.TIM 32F800 23800
CARD023.TIM 353000 23800
CARD024.TIM 376800 23800
CARD025.TIM 39A000 23800
CARD026.TIM 3BD800 23800
CS00.OCF 3E1000 1000
CS01.OCF 3E2000 1000
E001.MCT 3E3000 800
E002.MCT 3E3800 800
FACE.TIP 3E4000 1B000
FONT.TIM 3FF000 800
ITEM.DAT 411800 3800
LOGO.TIM 415000 12000
MARUC.TIM 427000 12000
MENU.TIP 439000 7000
MOVIE.DAT 440000 800
NOWLOAD.TIP 440800 4000
PSKANJI.FON 444800 13800
SHADOW.TIM 458000 800
SOUND.DAT 458800 1000
STAFF.DAT 459800 1000
STAFF00.TIM 45A800 9800
STAFF01.TIM 464000 8800
TEST01.OCF 46C800 A000
TITLE.TIM 476800 12000
TITLE000.TIM 488800 1000
TITLE001.TIM 489800 A800
X005.CCP 494000 2800
X005.TIP 496800 2800

It does not appear to start off so good but a quick check of the rest seems to line up. Other than TIM being an image format I have no known formats to work with which I like to have in this situation.
GAMEOVER.TIM at 3FF800 for 12000 all in hex.
It spat out a file which decoded as

Normally in these situations I would try making a batch file using filecutter (which you can get from if you click projects) but it is 10:30pm and I have a cheesy film to watch (as always but they need watching).



For the others reading it seems Super Hero Sakusen: Daidaru no Yabou (スーパーヒーロー作戦 ダイダルの野望) is the game in question.

By the looks of things it is not an 8x8 font, 8x11 kind of half works for the first Roman alphabet stuff but I am not sure it is a 2bpp font as the shadow effects you see there could well be actual font shadows, highlights and other such things (try running it in the game and seeing, the other fonts that the TimView+ program finds are highlighted and coloured in such a manner). TileGGD did not do me any better really and was actually somewhat less flexible for once.

Fortunately you appear to be looking at a mostly fixed width font, though there is a narrow font at the end by the looks of things.


You should download the English Crystaltile btw :P

You already found the font (lucky you :) ).
You could try increasing the width (Hotkey: Alt+Up/Down) and it should work like a charm.
You may need to add new letters by replacing the Japanese ones, if the font is incomplete somehow.

I remember one game (Osman) having the shadows of the letters, and the letters of the font themselves stored separately. You could be looking at a similar case.

Crystaltile is quite powerful, although it's lacking when it comes to some SNES graphics (4bpp planar composite, namely). I try to paste the graphic from Photoshop to Crystaltile (since it's the most friendly program when it comes to the Ctl+C Ctrl+V combo), but then I have to shift the bytes and retrieve the unchanged graphic (!) and paste it again.
The I open it with Tile Molester and do some pixel art coloring manually since it's impossible to do correctly with CT (but CT has the easy copy feature that's not in TM).
Aside from this minor nitpick, it's the best thing around (I just wish Tile Molester was somehow incorporated in Crystaltile to save the hassle, with a fix for its buggy N64 format of course)


Actually how to calculate picture width and height  :'( , i really wan to translate this game (Super Hero Sakusen: Daidaru no Yabou) for my friends ?
under still gt alphabet , cant watch clear on it ~
the colour maybe is GB 2bpp or Snes 4bpp , but i dun noe which one is correct ?


Please could you type correct english ? I'm not a native speaker and I don't understand what you say. Not that I could help you, but maybe some others non-native speakers can, and they may have difficulties in understanding you too...


oh sorry, i am not good in english ,  :-[ , i am a china people ~ 


Sorry, I thought you were an english-speaking guy whi was typing too quickly :)



In case you are still wondering. Know that I am not good at this. But here are my thoughts.
From the screenshot you post, there is a good chance of different width for "complex kanji" and for "romanji + simple japanese characters".

Last time I tried, I tried getting a screenshot from the game running in an emulator (make sure you use no 2x scale or full screen). There you can read how much space each character physically uses on screen. This is a minimum width, as the font may contain spacing (and your screenshot suggests it does).

I didn't try it on the game yet. Let me know if you do.