byuu's message board

For discussion of projects related to www.byuu.org/


Previous  1, 2, 3  Next
mario kart won't run? 
Author Message

Joined: Fri 10 Apr 2009, 15:00:08

Posts: 13668
Post Re: mario kart won't run?
Import game will pull in a save file on the first folder creation, but once a save file exists it will no longer copy it, so you can't share a save between a game file in one emulator and game folder in higan.

You're supposed to be able to use import game every time and pretend game folders don't exist, if you really want to.

Thu 03 Oct 2013, 18:04:33

Joined: Sun 25 Mar 2012, 17:19:53

Posts: 54
Post Re: mario kart won't run?
Yeah I dont get all this import stuff, maybe its just the way I do things? I read all of these haters nagging and whining about higan being so hard to deal with. For me I use a front end, so again its command line driven. I simply call higan and the name of my rom. Ir runs it right out of my rom folder where the chip roms are and done. Could not be easier. Now I will agree I'd like to configure higan to load its chip roms from a folder in the emulator but I can most certainly deal without that.

Now if higan is saving a copy of my game, where is that I dont need useless clutter.

Thu 03 Oct 2013, 19:05:25
User avatar

Joined: Fri 10 Apr 2009, 21:11:23

Posts: 1714
Location: United States
Post Re: mario kart won't run?
You might be better off using RetroArch with the bsnes v093 core.

Thu 03 Oct 2013, 20:03:35

Joined: Sun 25 Mar 2012, 17:19:53

Posts: 54
Post Re: mario kart won't run?
confused? For what reason, everything works so well as I pointed out.

Thu 03 Oct 2013, 20:22:10

Joined: Sat 26 Feb 2011, 14:03:03

Posts: 220
Post Re: mario kart won't run?
ulao wrote:
Now if higan is saving a copy of my game, where is that I dont need useless clutter.

On Windows, the fancied up ROMs go in C:/users/username/appdata/roaming/Emulation or something.
On Linux, the fancied up ROMs go in /home/username/.config/Emulation or somewhere nearby.
On OS X, the fancied up ROMs go in /home/username/Library/Application Support/Emulation or whatever.

On RetroArch, the fancied up ROMs stay in memory where they belong.

Thu 03 Oct 2013, 20:58:30

Joined: Sun 25 Mar 2012, 17:19:53

Posts: 54
Post Re: mario kart won't run?
that is what I figured but there is nothing in there. I also read that higan users all user instead od the user name somewhere but I dont see it in there also.

OK I found it. C:\Users\[your user name]\Emulation Tnx.

Thu 03 Oct 2013, 21:24:29

Joined: Sun 13 Jan 2013, 01:25:20

Posts: 258
Post Re: mario kart won't run?
whats the name of the no intro translation pack? im looking for it but can't find it :/

Thu 03 Oct 2013, 22:53:00

Joined: Tue 28 Feb 2012, 21:09:07

Posts: 61
Post Re: mario kart won't run?
mfergus wrote:
whats the name of the no intro translation pack? im looking for it but can't find it :/


Looks like it's called Maybe-Intro.

Fri 04 Oct 2013, 02:06:56

Joined: Sun 13 Jan 2013, 01:25:20

Posts: 258
Post Re: mario kart won't run?
windwakr wrote:
mfergus wrote:
whats the name of the no intro translation pack? im looking for it but can't find it :/


Looks like it's called Maybe-Intro.


ty

Fri 04 Oct 2013, 05:13:58
User avatar

Joined: Wed 26 Oct 2011, 13:39:06

Posts: 93
Post Re: mario kart won't run?
Mario Kart is actually a bit of a curious corner case in that while it mostly used to have vanilla DSP-1 firmware, later batches had the updated DSP-1B version. It seems that at the moment this is being handled by higan somewhat awkwardly.

From what I've been able to tell, as of now to "properly" recognize a game being imported, given that it relies on a special chip with a firmware ROM, higan requires the respective firmware ROM (little-endian, distributed as *.rom rather than the big-endian *.bin that bsnes v086 and earlier used) to be pre-appended to the SFC file itself. The weirdness I noticed on a closer look is this:

If the proper US Mario Kart *.sfc has the proper dsp1.rom (original, not the "B" revision) appended to it, it is recognized by the database, yielding the following manifest:

Code:
cartridge region=NTSC
  board type=1K1B revision=01
  rom name=program.rom size=0x80000
  ram name=save.ram size=0x800
  map id=rom address=00-3f,80-bf:8000-ffff
  map id=rom address=40-7d,c0-ff:0000-ffff
  map id=ram address=20-3f,a0-bf:6000-7fff mask=0xe000
  necdsp model=uPD7725 frequency=8000000
    rom name=dsp1.program.rom size=0x1800
    rom name=dsp1.data.rom size=0x800
    ram size=0x200
    map id=io address=00-1f,80-9f:6000-7fff select=0x1000

information
  title:    Super Mario Kart
  name:     Super Mario Kart
  region:   NA
  revision: 1.0
  board:    SHVC-1K1B-01
  serial:   SNS-MK-USA
  sha256:   89ad4ba02a2518ca792cf96b61b36613f86baac92344c9c10d7fab5433bebc16
  configuration
    rom name=program.rom size=0x80000
    ram name=save.ram size=0x800
    rom name=dsp1.program.rom size=0x1800
    rom name=dsp1.data.rom size=0x800
    ram name=dsp1.data.ram size=0x200


(The firmware that ends up going into the game folder in this case is the vanilla DSP-1 ROM that was pre-appended to the *.sfc, regardless of whether a separate dsp1b.rom is also available.)


On the other hand, a good Mario Kart *.sfc (exact same base ROM as above) which has proper DSP-1B firmware appended is not being recognized by the database:

Code:
unverified

cartridge region=NTSC
  rom name=program.rom size=0x82000
  ram name=save.ram size=0x800
  map id=rom address=00-3f,80-bf:8000-ffff
  map id=rom address=40-7f,c0-ff:0000-ffff
  map id=ram address=10-3f,90-bf:6000-7fff mask=0xe000
  necdsp model=uPD7725 frequency=8000000
    rom id=program name=dsp1b.program.rom size=0x1800
    rom id=data name=dsp1b.data.rom size=0x800
    ram id=data size=0x200
    map id=io address=00-1f,80-9f:6000-7fff select=0x1000

information
  title: Super Mario Kart (USA).sfc


However, the DSP-1B firmware it comes with is kept. Actually, it seems that any old random appendage that's 0x2000 bytes long is being accepted and split into the game folder - if it happens to actually not be valid DSP-1B firmware (corrupted, or otherwise garbage), the game will obviously not work.


Finally, if just the bare US Mario Kart base rom is being imported, higan surprisingly enough requires dsp1b.rom in the same folder as the imported *.sfc (not that it would strictly verifiy such a separate firmware file for validity either, see above), yielding the same manifest as the last one if any 8KiB file with such a name is found.


All in all, it's a bit of a schizophrenic situation where only a good US Mario Kart *.sfc with a vanilla dsp1.rom inside is being recognized by the database (and this firmware is kept even if the revised version is also available), all the while for a bare base ROM somehow the newer dsp1b.rom file is being necessarily required by higan. Also, as mentioned, the separate firmware files used for importing ROMs that don't come with it pre-appended are not really being verified for their validity (apart from just checking size and file name, which obviously would catch neither possible corruption nor an 8KiB overdump).

_________________
SYNTAX ERROR: expected ".", encountered " lol"; halting execution...
Exit code 45386D31 334C6928

Mon 21 Oct 2013, 11:26:06

Joined: Fri 10 Apr 2009, 15:00:08

Posts: 13668
Post Re: mario kart won't run?
The images in my database are from real carts I dumped. The SMK I had used DSP-1A, which is identical to DSP-1, hence it uses dsp1.rom

Yes, there are DSP-1B SMK's. If I had one, I'd add it to my database. (The nice part there being that it'll get a different checksum due to the DSP-1B firmware being appended, which is appropriate since it technically runs slightly differently than the DSP-1A version.) Until then, it works based on physical boards I've owned.

So why does importing generic games work that way? With no firmware, it can't find a match in the database, and has to fall back on heuristics. There's no way for heuristics to tell a DSP-1 game from a DSP-1B game, so it has to presume the latter. The former would break Ballz 3D completely, whereas the latter only breaks the Pilotwings attract sequence a bit.

What I want to see is distributors append the DSP firmware to their downloads, so that nobody has to worry about this.

Mon 21 Oct 2013, 15:01:55

Joined: Thu 10 Dec 2009, 01:15:43

Posts: 47
Post Re: mario kart won't run?
Sorry to resurrect this thread, but I can't get Mario Kart USA or JAPAN to run. It freezes at the Nintendo logo. Tried both dsp1 and dsp1b with same result: Here are my ROM hashes:

Super Mario Kart (Japan).sfc SHA1: cbb853bf911255c1d8eb27cd34fc7855a0dda218 CRC32: c8002453
Super Mario Kart (USA).sfc SHA1: 47e103d8398cf5b7cbb42b95df3a3c270691163b CRC32: cd80db86
dsp1.rom SHA1: 4870e3b1636938c85347e20c56a81284fdfaf46e CRC32: 27124599
dsp1b.rom SHA1: 1e0112ba3b130c770dab342f6cfe47ac53b278f0 CRC32: 588279b4

Using Higan .93 The OP was able to get his going, so I don't know what the hell is happening. Higan was calling for dsp1b, but I tried both. I also deleted the imported foltainers and started from scratch. Jack shit is the result :(

Wed 11 Dec 2013, 04:19:12
User avatar

Joined: Mon 08 Nov 2010, 19:09:18

Posts: 236
Location: Ann Arbor, MI
Post Re: mario kart won't run?
Super Mario Kart works great for me, and has on every version of higan for a while. There are a couple of ways to import the file successfully. Since higan's database wants an appended file, I think this is the best method.

1) Start with a headerless Super Mario Kart ROM. If you have the No-Intro set, you're looking for "Super Mario Kart (USA).sfc"

Here are the SHA-1 and SHA-256 checksums for that file:
Code:
SHA-1:   47e103d8398cf5b7cbb42b95df3a3c270691163b
SHA-256: 2ada8919688087be60a6a48cace8f877add60c45d2e5d09e2442faa55be62a49

2) Find the correct version of the DSP-1(A) firmware. You may want to check this link and grab the dsp1.rom file from the bottom table, which is labeled for bsnes v0.087 or later. Or in the No-Intro set, it's named "[BIOS] DSP1 (World).bin"

Ensure the checksums match:
Code:
SHA-1:   188d471fefea71eb53f0ee7064697ff0971b1014
SHA-256: 91e87d11e1c30d172556bed2211cce2efa94ba595f58c5d264809ef4d363a97b

3) Append the files. On Windows, run a command like:
Code:
C:\> copy /b "Super Mario Kart (USA).sfc"+"dsp1.rom" "Super Mario Kart (USA) (Appended).sfc"

4) Now double-check the files appended correctly. Here's the SHA-1 and SHA-256 you should have on your file before importing...
Code:
SHA-1:   7452af3c777dc1a7197afe2a82b50b848f0ef01b 
SHA-256: 89ad4ba02a2518ca792cf96b61b36613f86baac92344c9c10d7fab5433bebc16

5) Now, go to higan, Import Game, select your appended file, and ananke should recognize your new appended rom as exactly matching byuu's copy. It'll get a full manifest and appear as a verified rom. From there, you're good to go, and it'll live in your library so you can just select it the next time you run.

If you did everything right, your Library folder for Super Famicom will have a game folder named "Super Mario Kart (NA) (1.0).sfc". Inside that folder, will be the following files:
Code:
dsp1.data.rom
dsp1.program.rom
manifest.bml
program.rom
save.ram (if you had an existing srm file before the import)
and manifest.bml should look like:
Code:
cartridge region=NTSC
  board type=1K1B revision=01
  rom name=program.rom size=0x80000
  ram name=save.ram size=0x800
  map id=rom address=00-3f,80-bf:8000-ffff
  map id=rom address=40-7d,c0-ff:0000-ffff
  map id=ram address=20-3f,a0-bf:6000-7fff mask=0xe000
  necdsp model=uPD7725 frequency=8000000
    rom name=dsp1.program.rom size=0x1800
    rom name=dsp1.data.rom size=0x800
    ram size=0x200
    map id=io address=00-1f,80-9f:6000-7fff select=0x1000

information
  title:    Super Mario Kart
  name:     Super Mario Kart
  region:   NA
  revision: 1.0
  board:    SHVC-1K1B-01
  serial:   SNS-MK-USA
  sha256:   89ad4ba02a2518ca792cf96b61b36613f86baac92344c9c10d7fab5433bebc16
  configuration
    rom name=program.rom size=0x80000
    ram name=save.ram size=0x800
    rom name=dsp1.program.rom size=0x1800
    rom name=dsp1.data.rom size=0x800
    ram name=dsp1.data.ram size=0x200

If you insist on running the Japanese copy, then you won't be able to get a verified manifest, since byuu's Super Famicom database doesn't include that yet. So, you'll want to append the dsp1b, since higan assumes all dsp1 games use dsp1b if they're not in the database. As byuu mentioned before, it's only an issue for Pilotwings, but you can fix that manually if you really want.


HitokiriEric


Wed 11 Dec 2013, 05:49:09
User avatar

Joined: Mon 08 Nov 2010, 19:09:18

Posts: 236
Location: Ann Arbor, MI
Post Re: mario kart won't run?
denzilla wrote:
Here are my ROM hashes:

Super Mario Kart (Japan).sfc SHA1: cbb853bf911255c1d8eb27cd34fc7855a0dda218 CRC32: c8002453
Super Mario Kart (USA).sfc SHA1: 47e103d8398cf5b7cbb42b95df3a3c270691163b CRC32: cd80db86
dsp1.rom SHA1: 4870e3b1636938c85347e20c56a81284fdfaf46e CRC32: 27124599
dsp1b.rom SHA1: 1e0112ba3b130c770dab342f6cfe47ac53b278f0 CRC32: 588279b4

Looking at your checksums, your Super Mario Kart (USA).sfc is good, but you've got a bad dsp1.rom. Your dsp1b.rom isn't correct either. My bet is that you have the older DSP files which worked with the first versions of bsnes to support LLE DSP emulation through v086, but was changed as of v087 to support the "correct" byte order. If you grab the correct files from http://www.caitsith2.com/snes/dsp/ you should be good to go.

Wed 11 Dec 2013, 05:58:54

Joined: Thu 10 Dec 2009, 01:15:43

Posts: 47
Post Re: mario kart won't run?
HitokiriEric wrote:
denzilla wrote:
Here are my ROM hashes:

Super Mario Kart (Japan).sfc SHA1: cbb853bf911255c1d8eb27cd34fc7855a0dda218 CRC32: c8002453
Super Mario Kart (USA).sfc SHA1: 47e103d8398cf5b7cbb42b95df3a3c270691163b CRC32: cd80db86
dsp1.rom SHA1: 4870e3b1636938c85347e20c56a81284fdfaf46e CRC32: 27124599
dsp1b.rom SHA1: 1e0112ba3b130c770dab342f6cfe47ac53b278f0 CRC32: 588279b4

Looking at your checksums, your Super Mario Kart (USA).sfc is good, but you've got a bad dsp1.rom. Your dsp1b.rom isn't correct either. My bet is that you have the older DSP files which worked with the first versions of bsnes to support LLE DSP emulation through v086, but was changed as of v087 to support the "correct" byte order. If you grab the correct files from http://www.caitsith2.com/snes/dsp/ you should be good to go.


Thanks so much! Everything is working great now. BTW, what is the proper checksum for the cx4.rom? Thanks again for your help :)

Wed 11 Dec 2013, 22:48:22
Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 0 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum