News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation  (Read 44118 times)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #20 on: July 23, 2014, 02:22:00 pm »
I greatly value all the hard work that's being put into this.

Having said that, would it be possible for the team to release documentation on the structure of the game? Information about file formats, etc.

There's a possibility that someone might pick up the Saturn version!

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #21 on: July 23, 2014, 03:50:32 pm »
I don't mind releasing my tools at all.  Sadly though the Saturn version is vastly different setup wise.  I have been meaning to see if it does use the same script resources though.

DS PSP uses one huge file that contains the text and scripting files and maybe the level map files too.  The Saturn version doesn't.  I might look later if I get time :)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #22 on: July 23, 2014, 03:52:36 pm »
I don't mind releasing my tools at all.  Sadly though the Saturn version is vastly different setup wise.  I have been meaning to see if it does use the same script resources though.

DS PSP uses one huge file that contains the text and scripting files and maybe the level map files too.  The Saturn version doesn't.  I might look later if I get time :)

That's rather odd. Either way, that will be most useful!

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #23 on: July 23, 2014, 08:52:20 pm »
Uploaded all my code plus the Japanese scripts here : https://subversion.assembla.com/svn/transprojects/psp/devil_summoner/

If you're curious to see how I dumped it see : https://subversion.assembla.com/svn/transprojects/psp/devil_summoner/tools/code/devil_summoner_psp_script_extract.cs

It's hard coded to dump from eve_files.bin which contains everything.

It's possible that the table used to dump these is the same as what the Saturn version uses. I haven't checked.  But anyone who wishes to check  feel free :)  The table is located in the tools folder.

Scripts are located here if anyones curious to see the original ones : https://subversion.assembla.com/svn/transprojects/psp/devil_summoner/scripts_txt/

Enjoy! :)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #24 on: July 24, 2014, 01:16:44 am »
Thank you!

Some of this definitely looks similar to that of Soul Hackers.

I haven't worked on Soul Hackers in quite a while, but does any of this look familiar: <https://github.com/ijacquez/SMT-DS-SH/wiki/EVENT.BIN>?

I think I was told that both games used the same engine.
« Last Edit: July 24, 2014, 06:21:33 pm by mrkotfw »

cj iwakura

  • Full Member
  • ***
  • Posts: 237
  • The Rhythm Rogue
    • View Profile
    • iwakura.productions
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #25 on: July 25, 2014, 06:29:19 pm »
Well it certainly doesn't look nice yet, but we're making progress. Here's a screenshot from what the default font looks like (we still have to get a VWF):


Great to see even this much work. Maybe you'll beat Soul Hackers' translation to release! :P

蒼く咲く華 日は灯り 天に流れる | Kill The Past

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #26 on: July 25, 2014, 06:31:05 pm »
It seems that I can't boot the game via Yabause... Hm...

cj iwakura

  • Full Member
  • ***
  • Posts: 237
  • The Rhythm Rogue
    • View Profile
    • iwakura.productions
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #27 on: July 25, 2014, 06:36:46 pm »
It seems that I can't boot the game via Yabause... Hm...

Good luck with that. I haven't found a Saturn emulator that runs it. I have a hard copy and play it on my Saturn with an action replay.

蒼く咲く華 日は灯り 天に流れる | Kill The Past

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #28 on: July 25, 2014, 06:38:54 pm »
Good luck with that. I haven't found a Saturn emulator that runs it. I have a hard copy and play it on my Saturn with an action replay.

SSF seems to get further than Yabause.

Though, I can probably look to debugging on real hardware. That will be a pain though...

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #29 on: July 28, 2014, 09:17:48 am »
Yeah Yabause has timing/interrupt issues with it I believe.  I talked to CyberWarriorX about it before and I'm looking at helping with implementing more debugging features (trace/mem logging which do exist already, just need to make the more accessible) with Yabause to help with it and other projects (need more time.........).  Reminds me I need to message CyberWarriorX as it's been a while.

Good luck :)  I may try poking at it later if I get a chance... You could get lucky and the font mapping is the same for PSP.  I'd think it could be the same so might be worth a try loading that up and searching any likely files using that table.

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #30 on: July 28, 2014, 01:27:52 pm »
Yeah Yabause has timing/interrupt issues with it I believe.  I talked to CyberWarriorX about it before and I'm looking at helping with implementing more debugging features (trace/mem logging which do exist already, just need to make the more accessible) with Yabause to help with it and other projects (need more time.........).  Reminds me I need to message CyberWarriorX as it's been a while.

Good luck :)  I may try poking at it later if I get a chance... You could get lucky and the font mapping is the same for PSP.  I'd think it could be the same so might be worth a try loading that up and searching any likely files using that table.

Yeah, exactly. It goes into an infinite loop (0x06000952 I believe).

Yeah, let's hope so.

More accessible? What do you envision? Do you mean more of a UI change?

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #31 on: July 28, 2014, 02:11:31 pm »
More accessible? What do you envision? Do you mean more of a UI change?

Yep, a UI change. As currently right now you can enable trace logging but it must be compiled in and then it starts logging as soon as Yabause starts a game.  My version modifies it to enable only when you tell it to be enabled.

I thought at first I'd have to start from scratch but I got lucky in that another developer had added it all in.

The next steps are to add into the debugger modal (as right now its in the drop down on the main menu) and to also make it log faster as it's really slow right now.  Right now it logs all registers when really all I care about is the ones in use at that time (a la Agemo's PSCX debugger) and it logs memory access which I want to make a separate option.

Another idea to help speed it up is to have it have a buffer in memory so its not constantly writing to disk.

If you're curious or if anyone is, I'll upload my build of Yabause that has the initial logging stuff done.

Easiest way to use it is to break/pause on a spot you want to start from, enable it, and then run from there.

Otherwise its just to slow to wait it out for updates (as I do with Agemo's PSCX debugger.  Hrm, maybe I should take a look at how he did it to see how its quicker...)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #32 on: July 28, 2014, 02:32:13 pm »
Yes, those are all excellent ideas.

Please do.


Is this work going to be pushed into Yabause?

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #33 on: July 28, 2014, 02:43:56 pm »
Yes, those are all excellent ideas.

Please do.


Is this work going to be pushed into Yabause?

Good timing as I was just going to post it anyways :)  I guess I won't edit my post then but just have it here :
http://www.mediafire.com/download/94wx3ci4r75m0eu/yabause_with_logging.rar

Eventually hopefully it'll be pushed up. I just need to find time to work on it more.  Laziness and other factors don't help :)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #34 on: July 28, 2014, 06:38:18 pm »
Many thanks! I'll be looking it over tonight.

July 29, 2014, 03:45:45 am - (Auto Merged - Double Posts are not allowed before 7 days.)
It wasn't clear, but how exactly do you use it? I noticed that it was extremely slow for me (trace enabled by default?).
« Last Edit: July 29, 2014, 03:45:45 am by mrkotfw »

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #35 on: July 29, 2014, 12:04:00 pm »
If you click on the Debug dropdown from the toolbar you'll see an option to click Trace Logging and toggle it on. This enables it.  Prob should give it a different icon or something....

And it's slow as it has the SH2 Interpreter core being used (File -> Settings -> Advanced).  I can't help that though... but you need it enabled to use Trace Logging properly.

As long as you dont see a file called sh2trace.log then it's not enabled (or shouldn't be :) )

Would you be interested in my code base as well?  I can post that too if anyone's interested.  That one may need some tweaking though as it uses CMake to generate the solution files and I'm not sure if it hard codes the path to the DLLs or does the relative.... I'm pretty sure its the former.  It's easy to just open a solution file in notepad and edit it though (or even do it through VS).

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #36 on: July 29, 2014, 12:10:03 pm »
If you click on the Debug dropdown from the toolbar you'll see an option to click Trace Logging and toggle it on. This enables it.  Prob should give it a different icon or something....

And it's slow as it has the SH2 Interpreter core being used (File -> Settings -> Advanced).  I can't help that though... but you need it enabled to use Trace Logging properly.

As long as you dont see a file called sh2trace.log then it's not enabled (or shouldn't be :) )

Would you be interested in my code base as well?  I can post that too if anyone's interested.  That one may need some tweaking though as it uses CMake to generate the solution files and I'm not sure if it hard codes the path to the DLLs or does the relative.... I'm pretty sure its the former.  It's easy to just open a solution file in notepad and edit it though (or even do it through VS).

That makes more sense. I wasn't sure if it was a UI change or something.

I had actually thought it was the source code. I run Linux, mainly, so yes :)

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #37 on: July 29, 2014, 12:39:59 pm »
Hrm.. building it may be a bit trickier since mines for Windows... (I don't do Linux much anymore since all the tools I need are on Windows).

Here's my Yabause src : http://www.mediafire.com/download/o564ff650o94bd0/yabause_ek.rar

Here's how to compile Yabause : http://wiki.yabause.org/index.php5?title=Compiling_Yabause/linux/linux/qt

Easiest thing would be to follow that and get it working. Then take my stuff and overwrite the Yabause dir you grab.

Now if you're curious about the main tracing stuff, that's all under src\sh2trace.c.  The other changes are just to add it to the UI.

Also, keep in mind, I didn't code any of it so I can't recall how all of it works :)  I just added the feature to enable and disable it.

If your interested and you'd like to help I wouldn't mind at all :)

mrkotfw

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #38 on: July 29, 2014, 12:42:46 pm »
Hrm.. building it may be a bit trickier since mines for Windows... (I don't do Linux much anymore since all the tools I need are on Windows).

Here's my Yabause src : http://www.mediafire.com/download/o564ff650o94bd0/yabause_ek.rar

Here's how to compile Yabause : http://wiki.yabause.org/index.php5?title=Compiling_Yabause/linux/linux/qt

Easiest thing would be to follow that and get it working. Then take my stuff and overwrite the Yabause dir you grab.

Now if you're curious about the main tracing stuff, that's all under src\sh2trace.c.  The other changes are just to add it to the UI.

Also, keep in mind, I didn't code any of it so I can't recall how all of it works :)  I just added the feature to enable and disable it.

If your interested and you'd like to help I wouldn't mind at all :)

I'm curious in getting back to working on deciphering the events format in possibly this game and Soul Hackers. So this would be of use to me.

I might just have to stick to Windows...

Thanks, I'll take a look and I might see if I can get it to work on Linux. That'll increase the changes of having it pushed.

Thanks!

esperknight

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Shin Megami Tensei: Devil Summoner [PSP] - Script Translation
« Reply #39 on: July 29, 2014, 12:53:32 pm »
Good luck with getting DS to work.  All I can tell you (from what I recall with chatting with CyberWarriorX) is that it's a bad timing issue related to interrupts.  Basically a section of code in the BIOS gets wiped and it shouldn't (ever).  You can tell due to putting a write breakpoint on the point it tries to execute that's NOPed.  It gets wiped after showing the intro movie (with the glass on the table).

From what i saw within the Yabause code itself (and my memory is hazy on this...) is that if you look at it right before it breaks... the return execution is wrong when it comes back from that instruction (due to the interrupt and other stuff).  So it executes the wrong thing and whacks it out.

From my only notes (I need to take better notes...) :

Break on 600BCD0

Break in code on this :
// Execute it
opcodes[context->instruction](context);

So basically once hte movie plays, put a breakpoint there.  Hit enter.  Then when that breaks put a breakpoint in the Yabause code base on that line and then execute it. It doesn't return properly from there (should hit 600BCD4 but it doesn't).  This is due to an interrupt killing it from what CyberWarriorX said.  But once again... I'm forgetful so I could be off on some things :)

So yeah, if you get it working def push that change up to Yabause :D