#4444 NIPPON: wont start in Dreamcast port

Nippon Safes
closed-fixed
5
2014-01-22
2009-07-22
Scorch
No

This issue happens with Nippon Safes Inc., DOS version.

I have encountered an issue where Nippon Safes Inc. game wont load. It occurs in the last stable DC build version"0.13.1", and the recently added SVN "1.0.0svn42599" version.

I've double-checked the required datafiles section to make sure I copied everything I needed from the discs. The game will appear in the selection menu as the multilingual DOS version, but after selecting the game, the system just resets itself.

That pretty much sums it up. It wont start, and I can't figure out why...

This issue doesn't occur in the latest stable, or svn windows build.

Discussion

  • Max Horn
    Max Horn
    2009-07-29

    Maybe this game is simply not enabled in the DC port. Marcus?

     
  • Max Horn
    Max Horn
    2009-07-29

    • assigned_to: nobody --> marcus_c
    • summary: Nippon Safes wont start in Dreamcast port --> NIPPON: wont start in Dreamcast port
     
  • Max Horn
    Max Horn
    2009-07-29

    Or maybe it is enabled (considering that it seems to be detected); still it crashes immediately... maybe Marcus has an idea why.
    Maybe something simple, like the game requesting a huge amount of RAM right from the start... Peres might know about that :)

     
  • Max Horn
    Max Horn
    2009-07-29

    • assigned_to: marcus_c --> peres001
     
  • The Parallaction engine is enabled, but I notice that the filename for the plugin ("PARALLACTION.PLG") does not conform to ISO9660 Level 1 requirements (8+3). Because of this, it is imporant to enable use of Level 2 when mastering the CD (using e.g. -l in mkisofs), or the filename will be truncated and ScummVM will not find the file when trying to open with the full filename.

    Was the test with 0.13.1 performed with a disc created from the Nero image, or from the plainfiles?

     
  • OTOH, if the game is detected, then there is no problem with loading the plugin either...

     
  • I tired running the Amiga Demo, and it starts, but it takes a rather long time to do so. The reason is that the engine speculatively tries to open 100 savefiles instead of using listSavefiles(). Depending on the number of memory cards attached, doing so may take several minutes.

    But I guess this is not the reported problem, as the poster mentions a reset. So it seems the actual game is needed to reproduce, not just the demo.

     
  • peres
    peres
    2009-07-29

    Marcus: the engine is looking for the 100 savefiles to check their filenames. My first naming scheme was not standard, so I had to change it. In the process, I added some code to convert old names to new ones so that compatibility is not broken. Maybe we can trash that code now, but I would like to hear our mighty leads about it. Anyway, I think you're right when you say it is not related with the bug itself.

    Is there any way to run ScummVM with debug settings? Or can we try it with a Dreamcast emulator somehow?

     
  • Max Horn
    Max Horn
    2009-07-29

    Trying to open 100 savefile will cause problems on several ports; which is why we have the listsaves API. Why can't you use that API to check for files with your old non-standard name, I wonder? Looking at your code, you are looking for files named "game.%i", with a numerical suffix. Well, then change the code to first do a listSavefiles("game.*"), then only try to "convert" those games that actually occur in this list.

     
  • Scorch
    Scorch
    2009-08-01

    I used the plain files, sorry bout that.

    I created the disc with Bootdreams, which uses mkisofs. I had all ISO options enabled: Full filenames (-l), Joliet (-J), Rock Ridge (-r).

     
  • peres
    peres
    2009-08-07

    scorches-forge:

    1) does the game work if you use the normal image instead of the plain files?
    2) any chance of running ScummVM into a DC emulator? You could be able to get some debug output useful to find out what the problem is.

     
  • Scorch
    Scorch
    2009-08-09

    Okay I downloaded the latest version "1.0.0pre043157", and tested it with the same results. It was recognized in the menu, but wouldn't load.

    I do not know how to use the debugging features of the DC emulators, so all I could do was take a snapshot of the command window in NullDC when the game failed to load from the menu.

    NullDC (ScummVM Nippon error pic)
    http://img21.imageshack.us/img21/8229/nipponerror.jpg

     
  • peres
    peres
    2009-08-09

    Your intention was good, but the results weren't ;). The text in the picture is unreadable because of the ultra-low resolution, and not all the output text would be visible in that small window anyway.

    Please redirect the output of the emulator to a text file and attach that instead. It looks like you're using windows, so you may try the following:

    nulldc >nipponlog.txt 2>&1

    Of course you will need to use a console to type the command line. The emulator will write all its text output to a file called nipponlog.txt, which you should then attach to this thread.

     
  • Scorch
    Scorch
    2009-08-10

    NullDC generated text

     
    Attachments
  • Scorch
    Scorch
    2009-08-10

    Okay one last late check in. I attached a 7zipped text file after running the command line you asked, but I had to sop it manually as it kept increasing in size (well over 400MB).

    I hope it has enough to work with.

    I've now attempted to do this with the 0.13.1, and two different 1.0.0 testing versions plainfiles. I also attempted building with Bootdreams 1.0.6b & Dir2Boot, and unlike almost any other port using a HD, the DC can only use cd-rs.

    So, I'll not be wasting any more discs on this right now, sorry.

     
  • Max Horn
    Max Horn
    2009-10-22

    Peres, did you have a look at the file Scorch attached?

     
  • Max Horn
    Max Horn
    2010-03-23

    Peres?

     
  • digitall
    digitall
    2014-01-18

    • assigned_to: peres --> Marcus Comstedt
     
  • digitall
    digitall
    2014-01-18

    @marcus_c: Just tried both the NS Amiga Demo and NS Amiga full game with the latest buildbot dc-serial-master-9afeafd3. These both crash out at startup with the following trace:

    User picked target 'nippon' (gameid 'nippon')...
    Looking for a plugin supporting this gameid... Parallaction
    Starting 'Nippon Safes Inc.'
    Disk_ns::addArchive() couldn't find archive 'disk0'!
    EXCEPTION AT (void )0x8c0c96dc {pr = (void )0x8c0c96d8} : 000000e0
    r0 = 0x00000000, r1 = 0x8c2f8a7c, r2 = 0xffe8000c, r3 = 0x4328e3ff
    r4 = 0x00000000, r5 = 0x000000dc, r6 = 0x8c3950f4, r7 = 0xfff3b9c8
    r8 = 0x00000000, r9 = 0x8cffef14, r10 = 0x8c2ff638, r11 = 0x8c4aef38
    r12 = 0x00000000, r13 = 0x8c4aef40, r14 = 0x00000002, r15 = 0x8cffeb04

    Running sh-elf-addr2line -e scummvm.elf 0x8c0c96dc gives:
    /opt/buildbot/slave/master-dc-serial/build/../../src-master/src/engines/engine.cpp:87

     
  • digitall
    digitall
    2014-01-18

    Right. Adding _taskbar=no; to the dreamcast section of configure prevents the exception, but you still get the previous error and ScummVM exits to the Dreamcast menu.

    So the issue here is an engine error of:
    Disk_ns::addArchive() couldn't find archive 'disk0'!

    However, both demo and full version have the disk0 file present... Will need to investigate to work out why this is not being found.

     
  • @digitall: Did you read the comments on the first page about ISO authoring?

    Although in this case, it's probably -relaxed-filenames you need rather than -l, since "disk0" is not too long, but is missing a "." to conform to ISO 9660 requirements.

    See http://wiki.scummvm.org/index.php/Dreamcast#Notes_on_CD_mastering

     
    Last edit: Marcus Comstedt 2014-01-18
  • digitall
    digitall
    2014-01-18

    Ah.. I did read the notes on ISO formatting, but only the part about -l and I am using that ie.
    mkisofs -l -C 0,11702 -o tmp.iso cd-image

    Will try remastering a new CD and see how I get on then.

     
    Last edit: digitall 2014-01-18
  • digitall
    digitall
    2014-01-18

    Nope. Still the same error when I master the CD with -relaxed-filenames. :/

    Will add some debug output to Parallaction's disk_ns.cpp code to see if we can see what is going on here.

     
  • digitall
    digitall
    2014-01-18

    Ah. Worked out the cause of this. This is the same issue as the reason why some versions of Simon2 (AGOS engine) are failing:
    http://forums.scummvm.org/viewtopic.php?t=13490

    The file "disk0" has a trailing dot on CD and this had a workaround for this issue in the file access code which was broken recently:
    "
    I did a bisection on this as my English CD version has these trailing dots.

    This was broken by this commit:
    commit 5346ac18b7e33a603aa2743fa57f430d96cdbc33
    Author: Travis Howell kirben@optusnet.com.au
    Date: Sun Aug 28 00:40:55 2011 +1000

    AGOS: Integrate InstallShield support.

    The installshield support changed the resource code such that it bypassed the workaround in Common::File::open(). :/"

     
  • digitall
    digitall
    2014-01-22

    This issue seems to be a general problem with any datafile with no suffix will have a trailing period added if it is placed on an ISO9660 file system or passed via one i.e. mastered to CD.

    There is a workaround for this for Dreamcast, by passing the -d option to mkisofs. From the man page for mkisofs:
    -d Omit trailing period from files that do not have a
    period.
    This violates the ISO-9660 standard, but it happens to
    work on many systems. Use with caution.

    I remastered the CD with this option and the result starts both NS Amiga full version and demo fine. Will document on the relevant wiki page.

    However, a gfx issue occurs which results in the vertical height of the Ego, Items and all Text to be compressed. Will try to trace down.

    Closing this bug as fixed as NS now starts fine with this option.

     
  • digitall
    digitall
    2014-01-22

    • status: open --> closed-fixed