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

Author Topic: Snes emulators (Canoe, Snes9x) -- game problems and fixes  (Read 224466 times)

reyvgm

  • Hero Member
  • *****
  • Posts: 1158
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #220 on: March 01, 2018, 10:15:09 pm »
I'm going to start a doc only with problem games, and will post which have been worked on by sluffy and if they have been fixed or not. That way people can keep track of his latest patches that need testers. Will post the link once I'm further along with it.

sluffy

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #221 on: March 01, 2018, 11:02:09 pm »
Cu-On-Pa is broken on Canoe? Thanks, put this on medium thought level. Although I can partially guess from that Zsnes $4212 hint. But hey.. maybe its causing hangs elsewhere too. 4212 is joypad. Everyone uses that. Not sure how it gets abused though.


Daffy. Not sure because I did what snes9x also did - run irqs when problem area starts. But didn't work for either of you.

Didn't give up on Alien vs Predator. And that maybe was 1st custom request that I can remember. Not shelving this one fully.


Top Gear 2. Game keeps dropping me into that "dark information hole" on 2P or Password. Could be sound sync. Thought it would be wai + irqs again but 1P sails through. Since this game is of more interest, might start parachuting C7s everywhere to sonar pinpoint where it's behaving badly.

Top Gear 1. Probably can get green horizon fixed first.


Nosferatu! Made a step in figuring this out. Likely not writing to oam table correctly. Not other cosmic voodoo. But why? Probably shares same bug as Uniracers. And Beholder - but video shows menu works okay. The intrigue gets cloudy. Hilarious how much frame step forward/backward I'm doing with the video.


Problem doc sheet would be uplifting handy.

reyvgm

  • Hero Member
  • *****
  • Posts: 1158
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #222 on: March 02, 2018, 12:50:02 am »
Sluffy, Robin.

The doc says Faceball 2000 has wrong colours in the Menu screen. But it's actually supposed to be like that, at least according to Higan. If you load the game and you disable the NTSC TV gamma option (which is supposed to be a simulation), you'll see that the colors look the same as Canoe.
So yeah, there are no graphical issues with F2k, only the sound issue.

Also, Demi from resetera tested Mickey no Tokyo Disneyland Daibouken and he said the game loads just fine. I don't know why someone said the game didn't load. Was probably using a bad rom.

***EDIT***

Ok here's the doc with ONLY the problem games suggested  here and the ones that have been fixed already:
https://docs.google.com/spreadsheets/d/1kyriwV4CSEPuhWWXaxw_YRTgbu4Dh5SE-bf2XwJOdX0

Green are the ones that have patches already.
White are the problem/broken games.
Orange are the ones Sluffy needs a picture, or video or a patch tester.

I'll add the problem games found on the other docs tomorrow.
« Last Edit: March 02, 2018, 01:49:28 am by reyvgm »

Robin64

  • Full Member
  • ***
  • Posts: 146
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #223 on: March 02, 2018, 03:36:25 am »
Typical that I stopped Top Gear before a level with another glitch.

And yeah, I didn't have the Facebook 2000 graphics thing listed initially, but multiple people pressured me to add it...  :banghead:

Thanks Rey. And good work on the spreadsheet for this, that'll be very useful.

Zimgief

  • Jr. Member
  • **
  • Posts: 45
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #224 on: March 02, 2018, 04:57:39 am »
Thanks for the list, reyvgm, I kwnow it's a WIP, but here some additional input.

For Cacoma Knight in Bizyland, it's the japanese version that must be tested.
And if I understand correctly (cf. this very page) Alien vs Predator is not working yet.
And Illusion of Gaia, Mystic Quest and Dragon Ball Z 2 PAL have working patches. (And DBZ HD patch works for both japanese and PAL.)

Sluffy should verify the list when you think it's complete.

Also, it would be simpler if you linked patches for all the relevant entries (yeah, that's work, thanks again).
« Last Edit: March 02, 2018, 05:05:28 am by Zimgief »

lich

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #225 on: March 02, 2018, 05:24:14 am »
And if I understand correctly (cf. this very page) Alien vs Predator is not working yet.

It's working. I tested the patch yesterday and it worked. unless a new glitch appeared after it getting patched that I didn't notice. Played the game for like 5-10 minutes without any glitches/bugs/errors.

sluffy

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #226 on: March 02, 2018, 12:34:35 pm »
Debug testers for Nosferatu. Looking for cpu bug.
https://www.sendspace.com/file/n9dtf5

Start game. Don't move. If no crash or hang = pass.



Short on time. Quickly scanning:
-Super Off Road = should be fixed
-Dragon Ball Z - Super Saiya Densetsu (Japan) = maybe fixed, told it does but myself unsure
-WWF Arcade = tested by Robin64. problems remaining
-True Golf Classics: Pebble Beach Golf Links = unverified, never worked on this
-Pebble Beach no Hatou New - Tournament Edition (Japan) = broken, pic would be useful
-Cacoma Knight: USA = fixed, Japan = untested

Big thanks for this sheet.


upd:
Daffy Duck tester
https://www.sendspace.com/file/w0gyhd

Crunch time here. Go go.
« Last Edit: March 02, 2018, 01:00:55 pm by sluffy »

Zimgief

  • Jr. Member
  • **
  • Posts: 45
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #227 on: March 02, 2018, 01:48:41 pm »
You mean you have some time to try other things? In this case, among the major games that still need to work correctly, there are four RPGs : Star Ocean, Tales of Phantasia, Seiken Densetsu 3 and Rudra no Hihou.

Star Ocean and Tales of Phantasia are being handled by darkakuma (any news, Robin64?).

Seiken Densetsu 3 and Rudra no Hihou are hi-res games. For now, these games work if hi-res mode is disabled (no preset ID), or with the preset ID of Super Mario Picross, which alters gamma colors in hi-res screens (SK3 and RnH), and make the menu screen buggy for RnH.

Maybe another preset ID could be used. Including RnH official preset ID. But for now, it is black screen (followed or not by C7, I don't know). Maybe it's just a case of tricking Canoe into booting them like for DBZ HD? So if you have time, a bit of prospection could be useful!

EDIT: I forgot to mention Dragon Quest III. This game boots correctly, but not with the translation patch applied. It seems the reason is that the rom size has been expanded with the patch, so not sure if anything can be done.
« Last Edit: March 02, 2018, 01:56:07 pm by Zimgief »

reyvgm

  • Hero Member
  • *****
  • Posts: 1158
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #228 on: March 02, 2018, 03:03:59 pm »
Typical that I stopped Top Gear before a level with another glitch.

And yeah, I didn't have the Facebook 2000 graphics thing listed initially, but multiple people pressured me to add it...  :banghead:


:P

By the way, here are some games that are supposed to be fixed, but your doc says otherwise:
AvP, Best of the Best, Cool World

I assume you only change the status on your doc once you make the SFROM patch for it?


Also, it would be simpler if you linked patches for all the relevant entries (yeah, that's work, thanks again).

I add patches to whatever games Sluffy is testing. For fixed games, I won't add it because people can get the ips ones from the community doc, or the SFROM Tool patches from DarkAkuma's site.

This doc is just to keep track of what is Sluffy is doing, sort of.


-True Golf Classics: Pebble Beach Golf Links = unverified, never worked on this
-Pebble Beach no Hatou New - Tournament Edition (Japan) = broken, pic would be useful

Sorry, when people said "pebble beach" I thought they were talking about the US one.
« Last Edit: March 02, 2018, 03:19:44 pm by reyvgm »

etiel

  • Jr. Member
  • **
  • Posts: 73
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #229 on: March 02, 2018, 04:02:47 pm »
Quote
upd:
Daffy Duck tester
https://www.sendspace.com/file/w0gyhd

It worked! Played until I got to the underwater pipes level and the flicker only happened twice in a 30 min playthrough, so I consider this a success. Thank you sluffy!

Quote
upd2:
For Gun Hazard, please try this command line switch

https://github.com/ClusterM/hakchi2/wiki/Command-line-arguments-(SNES-Mini)
-exit-on-sram-file-load-error

Unfortunately changing the command line did not work, saves are still deleted after you exit the game.

« Last Edit: March 02, 2018, 04:34:06 pm by etiel »

pimpinelephant

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #230 on: March 02, 2018, 04:39:38 pm »
Almost floored it worked so easily. But makes sense technical side. Same patch will work on Japan and France. Woot!


Normal ROM has header:
34 = ROM+RAM+SA-1


Canoe specifically wants sram / battery flag:
35 = ROM+RAM+BAT+SA-1
(adds battery)

Wow! The issue was with the cartridge header?! I would have never thought of that! I just assumed the issue was with Canoe and its limited selection of preset IDs. You're a genius Sluffy!

I'm going to assume that Nintendo just simply didn't code a bunch of chipset values into Canoe due to such a few amount of games that use them, like 34 in this case is a perfect example.

This also raises an interesting method for trying to get games to run on Canoe I would think. I'm going to go ahead and test this same change on the other known chipset value 34 games.

After testing, they all now work with the above mentioned change (chipset value 34 -> 35). I've also uploaded patch files for each of these games just in case anybody wants them (probably not since they are pretty uninteresting games). The patch files are in .bps format (Floating IPS is a great patcher if you require one), which means that it does not matter if your ROMs are headered or not, although I would suggest that all of your ROMs be unheadered (and renamed to .sfc as well, but I'm just being nitpicky :D).

Saikousoku Shikou Shougi Mahjong
A Shogi (Japanese chess) and Mahjong game.
Patch: https://www.sendspace.com/file/zmus8f

Shin Shougi Club
Another Shogi game.
Patch: https://www.sendspace.com/file/4jcqpr

Super Bomberman - Panic Bomber W
This game is pretty similar to Dr. Robotnik's Mean Bean Machine or Kirby's Avalanche, except Bomberman themed. No translation unfortunately.
Patch: https://www.sendspace.com/file/8yi3oy

Takemiya Masaki Kudan no Igo Taishou
A Go (board game) game.
Patch: https://www.sendspace.com/file/5m31o3

I did some testing with other games that did not boot on Canoe as well. I looked at the three Seta chip games to see if I could possibly get them to at least boot.

F1 ROC II: Race of Champions (ST-010), I changed the cartridge header to denote it as a DSP chipset instead of a Seta chipset. The game was able to boot up perfectly fine, I was able to move around and select the different options within the main menu. Although, once you select any option that takes you into a race, the game will freeze right before entering the race. This is obviously to be expected, as the ST-010 chip is most likely used during the actual racing portions of the game (AI functionality). At least I got the game to boot! :laugh:

Hayazashi Nidan Morita Shougi (ST-011), I applied the same change as F1 ROC II. This game was also able to boot, and I was able to navigate the menus perfectly fine similarly to F1 ROC II. As expected, the game froze right before entering a match.

Hayazashi Nidan Morita Shougi 2 (ST-018), I again applied the same change. This game was actually able to boot, surprisingly. Although you are just met with a screen that says "Transmit Wait", obviously looking for the ST-018 chip.

As expected, Nintendo wasn't willing to code in the Seta chipset BIOSes (not worth it for only three games, three extremely obscure games at that).

I also tried out the three DSP 2/3/4 games. Nothing to note here, exactly as described in the lists. Looks similar to the Seta chipset games, Nintendo probably felt it wasn't worth it for only three games.

Dungeon Master (DSP-2) has graphical issues that appear to be DSP-2 related ("Its primary purpose is to convert Atari ST bitmap image data into the SNES bitplane format. It also provides dynamic scaling capability and transparency effects.").

SD Gundam GX (DSP-3) won't even boot. I'm assuming it requires DSP-3 decompression ("The chip assists with tasks like calculating the next AI move, Shannon-Fano bitstream decompression, and bitplane conversion of graphics.").

Top Gear 3000 (DSP-4) freezes when entering a race. Definitely DSP-4 related ("It primarily assists with drawing the race track, especially during the times that the track branches into multiple paths.").

upd2:
For Gun Hazard, please try this command line switch

https://github.com/ClusterM/hakchi2/wiki/Command-line-arguments-(SNES-Mini)
-exit-on-sram-file-load-error

I was actually thinking of playing around with those commands a while ago, but I was a bit busy (i.e. lazy ;D), so thank you for reminding me!

I tried -exit-on-sram-file-load-error but unfortunately it was the same result with no shutdown from an SRAM error. I'm willing to bet that the game is actually loading SRAMs fine, but for whatever reason is creating a new SRAM on boot-up. It's almost like it doesn't know that the SRAM file is there.

I tried playing around with some of the other commands as well. Unfortunately, I'm not so sure that they have any effect. I played around with --sram-file and with -output-dir as well, but I didn't notice any sort of changes. The SRAM still saved to the same location even though I specified a different directory. I'm assuming it has to do with one of the Bash files that is executed when loading a ROM. I'll copy and paste it here:

Code: [Select]
#!/bin/sh

set -x

export MALI_NOCLEAR=1

decorative_options()
{
  local fn="$1_options.txt"
  if [ ! -f "$fn" ] ; then
    return
  fi
  while read option ; do
    case "$option" in
    hue) printf ' --decorative-frame-hue';;
    luminosity) printf ' --decorative-frame-luminosity';;
    saturation) printf ' --decorative-frame-saturation';;
    esac
  done < "$fn"
}

options=""

while [ $# -gt 0 ] ; do
  case "$1" in
  --title-code) title_code="$2"; shift ;;
  --load-state-file) options="$options -resume" ;;
  --save-data-backing-file) options="$options --sram-file" ;;
  --replay-inputs) options="$options -replay-all -replay" ;;
  --record-inputs) options="$options -record-next -enable-pad-debug-controls" ;;
  --video-mode)
    case "$2" in
    keep-aspect-ratio) options="$options -filter 1 -magfilter 3" ;;
    pixel-perfect) options="$options -filter 1 --pixel-perfect" ;;
    crt-filter) options="$options -filter 2 -magfilter 1" ;;
    esac
    shift
    ;;
  --rollback-mode)
    case "$2" in
    record) options="$options -rollback-mode 1" ;;
    replay) options="$options -rollback-mode 2" ;;
    esac
    options="$options --rollback-ui /usr/share/canoe/rollback-ui"
    options="-rollback-snapshot-period 720 $options"
    options="$options --enable-sram-file-hash"
    shift
    ;;
  --rollback-output-dir) options="$options -rollback-output-dir $2"; shift ;;
  --rollback-input-dir) options="$options -rollback-input-dir $2"; shift ;;
  --decorative-frame-path) options="$options --use-decorative-frame $2 $(decorative_options $2)"; shift ;;
  *.sfrom)
    if [ -f "$1.gz" ]; then
        options="$options /tmp/ROM.sfrom"
        gunzip -c "$1.gz" > /tmp/ROM.sfrom
    else
        options="$options $1"
    fi
    ;;
  *) options="$options $1" ;;
  esac
  shift
done

read BUILD_TYPE < /etc/clover/buildtype
case "$BUILD_TYPE" in
devel) log="-log $title_code.log -log-append --debug-menu-settings /var/lib/clover/canoe/debug-menu.json --decorative-frames-path /usr/share/backgrounds" ;;
test) log="-log $title_code.log" ;;
*) ;;
esac

exec canoe-shvc $options $log

Something interesting to note though, I found an issue that displayed the exact same symptoms as Gun Hazard. Although, it was for RetroArch and not Canoe, but the symptoms are eerily similar. Apparently the SRAM was being loaded into the cache folder, but getting wiped before the ROM had finished decompressing. Unfortunately, I tried with Gun Hazard uncompressed, still the same result.
Link: https://github.com/ClusterM/retroarch-clover/issues/80

Also, while I was looking at DSP chipset games, I tested out Ace O Nerae! (No-Intro calls it Ace Wo Nerae!, and the translation calls it Aim for the Ace!). Just as the lists claim, the game runs perfectly fine when playing Exhibition, but when attempting to play either Training or Scenario, the game returns a C7 error right before you enter those respective matches. There's an interesting piece of information included within the translation's ReadMe. I'll copy and paste it here:

Quote
v1.2 (15 January 2004)

Certain emulators like ZSNES and Snes9x seem to have trouble displaying the
court textures correctly, so until this is fixed by the emulation authors, you'll
have to endure it or concentrate on multiplayer mode which does not have
this problem.

You mean you have some time to try other things? In this case, among the major games that still need to work correctly, there are four RPGs : Star Ocean, Tales of Phantasia, Seiken Densetsu 3 and Rudra no Hihou.

Star Ocean and Tales of Phantasia are being handled by darkakuma (any news, Robin64?).

Tales of Phantasia is being worked on!? Wow! That's amazing! I always thought Tales of Phantasia would never work on Canoe due to it being ExHiROM and Canoe not accepting ExHi/LoROMs.

And whoa! Once again, I really apologize for the wall of text!
« Last Edit: March 02, 2018, 04:54:17 pm by pimpinelephant »

reyvgm

  • Hero Member
  • *****
  • Posts: 1158
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #231 on: March 02, 2018, 04:57:01 pm »

And whoa! Once again, I really apologize for the wall of text!

Don't apologize. It's great information. And whoa at several games being fixed or at least booting due to that new discovery. Hopefully a fix can be found eventually.

FormerTree

  • Jr. Member
  • **
  • Posts: 24
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #232 on: March 02, 2018, 05:34:12 pm »
All roms I use for testing are from the latest updated snes no-intro set (2017-05-29) which can be downloaded from archive.org
If I want to be 100 % sure that a US-rom is a correct no-intro rom I always download it from the vault (vimm's lair). I hope you Sluffy and everyone else here are using correct roms when testing.

Can anyone else confirm that "American Tail, An: Fievel Goes West" displays a "nintendo presents" text before going in to "black-screen-mode"? Of course I used a proper no-intro rom.

American Tail rom INFO: 
CRC32:      0xeea38aed
MD5:      0xa2aabe7064ff072de65450d50d50ba93
SHA1:      0x572254aebc4dcf3f65aa0c8f9b7cf6836bb9a294

I am at work, but my previous post indicates I used the 0xEEA38AED rom and got a black screen with no "Nintendo Presents". This was with the unmodified ROM, the 1st and 2nd testers (3rd tester still haven't checked), and a US SNES Classic with 2.0.7 kernel:

Downloaded testers.

Unpatched (CRC32 0xEEA38AED): Black screen
Tester 1 (CRC32 0xB028EB2B): Black screen
Tester 2 (CRC32 0xFE9455CC): Black screen

Sorry none worked, but there were no C7 crashes this time.

matt!

  • Full Member
  • ***
  • Posts: 137
  • JUS4QIX
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #233 on: March 02, 2018, 05:50:41 pm »
https://picload.org/view/daaiiipi/pebble.png.html
Does anyone's Pebble Beach look like this?
Yes, Pebble Beach New Tournament and both Masters Augusta games all look like that. Same engine. Interesting implications of them using broken SNES9x decoder. 

I wasn't aware of all the private requests. Though I have to admit I had made one in the early days of asking sluffy if he would help out. I requested a patch to make the reduce the computer results by 20% in Winter Gold (PAL to NTSC so runs 20% fast).
« Last Edit: March 02, 2018, 06:22:41 pm by matt! »

sluffy

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #234 on: March 02, 2018, 06:06:27 pm »
I actually got about 30% of way there on Winter Gold. And then Canoe avalanche took over and I let it sit. Still interested though. But later: that's a hard game to run trace logs through. It's like throwing vars up and down 10-20 times.


Here's what Nintendo copied and did wrong during sa-1 decoding. Although this implies that other SA-1 games with 8-bpp decoder tiles would suffer a similar tragedy.
Code: [Select]
snes9x 1.51
  case 8:
for (int32 i = 0; i < count; i += inc_sa1, base += char_line_bytes, inc_sa1 = char_line_bytes, char_count = num_chars)
{
uint8 *line = base + (num_chars - char_count) * 8;
for (uint32 j = 0; j < char_count && p - buffer < count; j++, line += 8)
{
uint8 *q = line;
for (int32 l = 0; l < 8; l++, q += bytes_per_line)
{
for (int32 b = 0; b < 8; b++)
{
uint8 r = *(q + b);
*(p +  0) = (*(p +  0) > 0) & 1);
*(p +  1) = (*(p +  1) > 1) & 1);
*(p + 16) = (*(p + 16) > 2) & 1);
*(p + 17) = (*(p + 17) > 3) & 1);
*(p + 32) = (*(p + 32) > 4) & 1);
*(p + 33) = (*(p + 33) > 5) & 1);
*(p + 48) = (*(p + 48) > 6) & 1);
*(p + 49) = (*(p + 49) > 7) & 1);
}

p += 2;
}

p += 64 - 16;
}

// dumb graphics error
//break;
}
break;

Already thought how to handle this one. Just split up dma in smaller chunks. But wanted to really make sure since private bug reports I get do not match what Canoe is doing. And I wanted to troll some other requester who moans about these golf games.


Nice sa-1 discovery! Lots less work for me. Haven't actually looked at DSP-2,3,4,ST-010 source code. But I've heard that 2,10 are pretty simple and can be converted to SA-1 math. Don't hold me on this though.


Daffy Duck = finally! Although I'm still thinking over what Canoe is doing exactly. Because it doesn't clear pending irqs (Raiden Trad, Cool World). May tweak test build later.

matt!

  • Full Member
  • ***
  • Posts: 137
  • JUS4QIX
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #235 on: March 02, 2018, 06:09:50 pm »
Didn't give up on Alien vs Predator. And that maybe was 1st custom request that I can remember. Not shelving this one fully.
It was not so much a custom request but a (wrong) guess by me that it had a similar issue as Cacoma Knight and I was trying to reuse the fix that we first pinpointed from all the changes you made in Cacoma Knight faster rom patch. When we figured out it wasn't the same, I suggested you forget about AvP in favour of more popular games.

Anyway, continued thanks for all this work!

March 02, 2018, 06:13:08 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I actually got about 30% of way there on Winter Gold. And then Canoe avalanche took over and I let it sit. Still interested though. But later: that's a hard game to run trace logs through. It's like throwing vars up and down 10-20 times.

Here's what Nintendo copied and did wrong during sa-1 decoding. Although this implies that other SA-1 games with 8-bpp decoder tiles would suffer a similar tragedy.

Already thought how to handle this one. Just split up dma in smaller chunks. But wanted to really make sure since private bug reports I get do not match what Canoe is doing. And I wanted to troll some other requester who moans about these golf games.
Winter Gold - cool, thank you!

SA-1 bug, I am able to modify and reassemble the Canoe source code but first I need to find the equivalent code in the ARM disassembly.

Golf games - I think you mean me? Guilty as charged  :-X

March 02, 2018, 06:19:02 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
@Robin
Yeah it was the resolution. I don't know why the videos would lag like that when I can play hi-res videos just fine.
I think YouTube has changed to rencoding the video to lower bitrate on demand?
« Last Edit: March 02, 2018, 06:19:02 pm by matt! »

sluffy

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #236 on: March 02, 2018, 06:30:58 pm »
Wasn't targeting you about golf games jab. Some -other- person. No worries though! You've been plenty helpful already.

todo: more debug patches
« Last Edit: March 02, 2018, 06:40:17 pm by sluffy »

matt!

  • Full Member
  • ***
  • Posts: 137
  • JUS4QIX
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #237 on: March 02, 2018, 06:35:26 pm »
oh! i'm surprised there is another golf game nerd

March 02, 2018, 06:39:24 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
There's no SNES9x code in Nintendo OSS dump for SNES Mini. Unsurprising.

So either:
1. they copied SNES9x but did not disclose it (naughty!)
2. they coincidentally implemented it with the same bug as SNES9x (unlikely!)

sluffy

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #238 on: March 02, 2018, 06:41:18 pm »
What'd be really helpful. If someone can modify ARM for this:
https://github.com/snes9xgit/snes9x/blob/master/gfx.cpp

Code: [Select]
// Now go through and pull out those OBJ that are actually visible.
int j;
for (int Y = 0; Y < SNES_HEIGHT_EXTENDED; Y++)
{
GFX.OBJLines[Y].RTOFlags = Y ? GFX.OBJLines[Y - 1].RTOFlags : 0;
GFX.OBJLines[Y].Tiles = 34;

uint8 FirstSprite = (PPU.FirstSprite + Y) & 0x7f;
S = FirstSprite;
j = 0;

See that 34? That's how many sprites tiles we get per line. Raise it to 36 and you'll see some game errors go away. This is alternate clue how to find:

Code: [Select]
GFX.OBJLines[Y].Tiles -= GFX.OBJVisibleTiles[S];
if (GFX.OBJLines[Y].Tiles < 0)
  GFX.OBJLines[Y].RTOFlags |= 0x80;


ex. You wouldn't need Alien 3 hack anymore. And possibly other games on the list.


upd:
incoming debug tests for Ys 3 --- check sram mapping behavior
https://www.sendspace.com/file/ujqapf

boot = pass
c7,hang = fail


going to do this for front mission also
« Last Edit: March 02, 2018, 06:57:32 pm by sluffy »

reyvgm

  • Hero Member
  • *****
  • Posts: 1158
    • View Profile
Re: Canoe official snes emulator -- problems and fixes
« Reply #239 on: March 02, 2018, 07:07:19 pm »
I'm going to friggin play Mystic Ark then to get a World 5 save file to see what's going on with the crashes.