News:

11 March 2016 - Forum Rules

Main Menu

MIPS and translation

Started by Outrunner, August 12, 2021, 03:47:55 AM

Previous topic - Next topic

Outrunner

Good days,

So, out of desperation I began to look around for all of the tools I need to translate a psx game, in particular civizard majutsu.

I have the slowr3ka assembler/dissembler. Which I began to use to dissemble one psx .exe file and one slps file, now I see a bunch of addresses, a lot of them with nop. Its been a few years since I look at any sort of code, c64 days but, I suppose these are instructions for the mips r3? Im also using jpsxdec to check out the art and find if I could just hack the art.

Now, my breaking point from yesterday. The art is in a .bmf format, which is some form of bit map that I cant simply edit or see without jpsxdec. I think its a corel image format, I tried with corel draw 96, which is from when the game came about but nothing. In theory it should work with corel graphics suit in the latest version? Either way, with jpsxdec, I can see that ( or the program ) they are actually compressed .pngs in .bmf near losless compression format? How can I even edit these? More for interest because the graphic tiles with text are not there. So...

...the mips is getting instructions to directly draw japanese characters from the .exe and .slps? I can see uicalls within both files and the ui background art is there, just not the characters. Where do I go from here as to actually see what the mips is writing and how do I go about changing that? An emulator, with a debugger, hexadecimal editing and mips r30000 documentation?

I must add that the game, civizard, must have calls written as well to draw european characters because they are in the game as to edit names of a few things, so, would that not make things a bit easier in theory to translate? Also, I think I can translate this without much idea of any sort of japanese because the game is already in english and its the same game. I do it for better graphics and sound.

PD: Also, Im interested in getting the source code for this game and maybe porting it to the windows version, or changing the graphics of the pc version with the psx. Getting the source code for this game through the psx game could help solve the pc version problems. If anyone can help with that it would be of interest.

Thanks in advance.

Jorpho

Quote from: Outrunner on August 12, 2021, 03:47:55 AMThe art is in a .bmf format, which is some form of bit map that I cant simply edit or see without jpsxdec.
For starters, what exactly led you to this conclusion?

QuoteAlso, Im interested in getting the source code for this game and maybe porting it to the windows version, or changing the graphics of the pc version with the psx. Getting the source code for this game through the psx game could help solve the pc version problems. If anyone can help with that it would be of interest.
Are you referring to a decompilaiton project like the one done for Super Mario 64? That's not a particularly realistic goal. The only other way to get source code is from unofficial leaks.
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!

Outrunner

Quote from: Jorpho on August 12, 2021, 10:10:08 AM
For starters, what exactly led you to this conclusion?

Are you referring to a decompilaiton project like the one done for Super Mario 64? That's not a particularly realistic goal. The only other way to get source code is from unofficial leaks.

Well, I did an online search and it made sense, in theory it was used by corel as to administer many images or one, as an all in one near lossless container, I figured corel purchased the algorithm. Vector graphics. Considering the time it came about, how its a sort of compressed container and the images for some reason come about as png's with the iso editor program I mentioned; I think its a corel graphics container without the compression applied. My idea is that they used corel software for 2D graphics, set the gallery container and then added some code into their psx .exe as to extract to memory when in need from that container, left the bmf format? What I dont get is how that iso editor program as actually seeing png's in that container.

Something alike, no idea where Barcia is but considering the rights for "moo" passed and they didnt manage to code a lot of the features in the new entry, I say they passed it without the source code. They dont have it. Reason to why I ask if anybody here knows anything about that, either from the company that made it or through other means.

Jorpho

Quote from: Outrunner on August 12, 2021, 12:31:07 PMWell, I did an online search
At this point I have no idea what you searched for or why you decided to search it.  Were you just looking for random data formats that might have been used at the time of the game's release?

Quotethe images for some reason come about as png's with the iso editor program I mentioned
Do you actually have images that you can view in a standard image program, or what? I'm afraid this really isn't making any sense.

QuoteReason to why I ask if anybody here knows anything about that, either from the company that made it or through other means.
No one here is likely to be hoarding source code for an old game. If it was ever leaked, Google would likely be able to tell you.
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!

Vehek

You're operating under a lot of misconceptions about console file formats and how jpsxdec displays them to you.
jpsxdec scans the contents of the game's files to detect a few standard formats used in many PS1 games (TIM - images, XA - audio, STR - videos) and is capable of converting them into standard computer file formats. So the images are not PNGs, they're TIMs and you just used the default conversion/dumping option.

Also, never assume that a file extension is meaningful. They're not unique to a file format. Whether it's a console or a computer, the creators/developers could just make up whatever they want for an extension.

Outrunner

#5
Quote from: Vehek on August 12, 2021, 11:30:53 PM
You're operating under a lot of misconceptions about console file formats and how jpsxdec displays them to you.
jpsxdec scans the contents of the game's files to detect a few standard formats used in many PS1 games (TIM - images, XA - audio, STR - videos) and is capable of converting them into standard computer file formats. So the images are not PNGs, they're TIMs and you just used the default conversion/dumping option.

Also, never assume that a file extension is meaningful. They're not unique to a file format. Whether it's a console or a computer, the creators/developers could just make up whatever they want for an extension.

Yes, that is what I have been seeing now. If its actually a tim format. So, a tim file can actually store more than one image in a single file? jspxdec reads the headers, cluts and image data and presents the individual files, I see. So it is a tim file. Well, thats passed.

It made sense because simtex did the same with their files, .lbx in house container format. Maybe the japanese company had a look and copied the idea based on .lbx and their corel software experience.

August 13, 2021, 12:29:58 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: Jorpho on August 12, 2021, 11:12:41 PM
At this point I have no idea what you searched for or why you decided to search it.  Were you just looking for random data formats that might have been used at the time of the game's release?
Do you actually have images that you can view in a standard image program, or what? I'm afraid this really isn't making any sense.
No one here is likely to be hoarding source code for an old game. If it was ever leaked, Google would likely be able to tell you.

Yes, I figured they went the same way simtex went with their original game, an in house container file. Since they ported the game, they copied the same system with their own in house container file system based on their corel graphics experience. All searches pointed to corel so I went along with that conjecture.

jpsxdec lets me see the individual images contained within each .bmf file, I had a feeling they could contain hundreds withi n a single file and some of them contain dozens, which as someone mentioned today is actually a .tim file. Indeed, it is.

You never know, a cry in the forest may be heard by both hunters and the hunted.

Jorpho

Quote from: Outrunner on August 13, 2021, 12:15:24 AMAll searches pointed to corel
What searches!? If you are expecting someone else to follow your train of thought, I am afraid that is quite impossible. Did you just happen to see a random reference to "bmf" when you were examining the disc image or something?
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!

Outrunner

Quote from: Jorpho on August 13, 2021, 01:42:58 AM
What searches!? If you are expecting someone else to follow your train of thought, I am afraid that is quite impossible. Did you just happen to see a random reference to "bmf" when you were examining the disc image or something?

Yes, I did just that. Mounted the cue, took a look at the files and went about thinking it was somehow related. Searched for .bmf format and every hit on the net took me to that corel format. Ended up with a ton of "spicy" 1994-6 corel low res art and a drawing program I will try for fun.

Either way, Im looking into the emulator/debugger to get a better understanding (maybe) of what is going on because, what is going on? :o

If the text is not a simple image file being loaded, its writing it on the fly? Even if I could find a way around memory for graphics and somehow hack a lot of art into this and also pray some form of hex editing would let that art pass... am I right to believe that the art hack is out of the question for this particular game?


LostTemplar

Quote from: Outrunner on August 13, 2021, 05:23:36 AM
Yes, I did just that. Mounted the cue, took a look at the files and went about thinking it was somehow related. Searched for .bmf format and every hit on the net took me to that corel format. Ended up with a ton of "spicy" 1994-6 corel low res art and a drawing program I will try for fun.

Most likely completely incidental. BMF probably just stands for "BitMap F-something". As Vehek already mentioned, file extension is only an indicator, but in no way a sure-fire way to tell what a file contains.

Still, it's always a good idea to google if a file extension you find in an old game is known and tools maybe exist for it, but game developers very rarely used mainstream formats. That's because a) they would need to write their own loader for the target hardware and b) formats like TIM already exist that represent the data in a manner amenable to the target hardware.

Container formats are also very common, especially in disc-based games, I wouldn't think they "copied" that.

Outrunner

#9
I installed a new emulator expecting a debugger, got lost with post processing effects. Will check the debugger as is later. I have been reading a little about basic mip instructions. A few pages of the basics, in a somewhat go around the park style in the document.

What are the NOPS? They dont appear as basic in this little paperwork. How is the psx exactly bringing about japanese characters to the screen on a mips cpu if they are not within the tiles? Im not even finding a relation to the ascii in the naming menu screen, yet. Where is the graphics chip in all of this?

If the NOP's are no operations, is there padding here or are they actually subrutines just represented as no operations?

August 13, 2021, 04:26:20 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: LostTemplar on August 13, 2021, 08:07:21 AM
Container formats are also very common, especially in disc-based games, I wouldn't think they "copied" that.

I get the idea of wrapping things or containing things within certain enviroments. Containing or wrapping for reason? I mean, its not compressed in this particular case. Its either taken from the cd and placed in memory, then its translated/converted/extracted, then to where its supposed to go. It would task the cpu a few times for a complete pass. Then every time it would be needed on screen if it was not lingering in memory. Or/and, it gets sent directly to memory if the part is of use, from the cd, is always there and gets a bunch of instructions running each time its used just to take it out of the container? Is that not a constraining tool more than a managing tool in terms of speed? Is it not better to just make a single list and order by use and order the data in the cd accordingly to its needed reproduction?

Why would you load things like this?

Jorpho

It's kind of difficult to understand some of your posts.

Quote from: Outrunner on August 13, 2021, 02:13:38 PMIs it not better to just make a single list and order by use and order the data in the cd accordingly to its needed reproduction?
There are many ways of doing things that are probably "better", but if a development team is lacking resources and is pressed for time, then they will almost certainly select an inferior method at the expense of longer loading times.
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!