Jump to content

Photo

Weird Stella Issue With Only One ROM


18 replies to this topic

#1 hizzy OFFLINE  

hizzy

    Stargunner

  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 6:46 AM

Hi Folks,

 

So, I've been dying to try Epic Adventure, but I can't get it to play normally with any version of Stella. I am on 6.0 right now. Whenever I load the game, the intro screen is fine, but the game itself appears to bounce up and down on the screen, kind of like there's an earthquake going on. I've tried many settings. Every few months I come back to Epic Adventure with the hopes of figuring this out. This is the only ROM that does this.  Any help would be appreciated!

 

Thanks!!


Edited by hizzy, Sun Apr 21, 2019 6:51 AM.


#2 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 7:47 AM

I would have to try it on the Harmony, but at first glance it looks like a similar situation we saw with DPC+ games in the past, where something is not being initialized correctly.  I will check it out.



#3 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 8:17 AM

Hmm, seems to be working on a real console, so I opened an issue: https://github.com/s...ella/issues/429



#4 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 12,801 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun Apr 21, 2019 8:58 AM

I suspect it's related to the specific version of the DPC+ driver used in the game.  Where's the ROM you're using and I'll take a look.  I won't be able to get to it right away though, have plans with family today.



#5 hizzy OFFLINE  

hizzy

    Stargunner

  • Topic Starter
  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 9:33 AM

Hi!

 

I have attached the BIN I am using which is from the Epic Adventure thread. :)

 

Thank you again for the help!! 

Attached Files



#6 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 9:46 AM

The one attached here is working fine in Stella.  The one I attached in the Github issue (link above) is the one that is having the 'bouncing' issues.



#7 hizzy OFFLINE  

hizzy

    Stargunner

  • Topic Starter
  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 9:49 AM

Whoops! Wrong game! Sorry!!!

Attached Files



#8 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 9:54 AM

Yep, and the one I posted in the Github issue is v28, which is newer than this one, and still exhibits the problem.



#9 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 12,801 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun Apr 21, 2019 2:00 PM

Looking at the changelog, this is what's causing the jitter:

 

 

September 26, 2015

 
The TIA now emulates the jitter that occurs when scanline counts are not consistent frame-over-frame. Also, the DPC+ scheme now emulates jitter that can occur when using its Fractional Datafetchers if the DFxFRACINC registers are not re-initialized every frame. Special thanks to SpiceWare for this implementation.

 

The change is spelled out in this blog entry.  Was done because winkdot's Doom Patrol was jittering on real hardware, but not in Stella. He had 2 different jitter problems, one was inconsistent scanline counts, the other was not setting the DFxFRACINC registers before each call to drawscreen.  Based on reply #5 and its link to Random Terrain's bB guide, this appears to be a known issue with bB development.

 

Found that it's been discussed before, including as it relates to Epic Adventure (reply 5).  An issue was opened for it at that time.



#10 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 2:41 PM

OK, updated the issue with new information.  Did this ROM ever work in Stella?  If so, we can at least find the particular DPC+ implementation and work from there.



#11 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 2:53 PM

Spice, confirmed that reverting the change you made in CartDPCPlus from your link above allows this ROM to work again.  So the next step is to figure out how to selectively enable/disable it.



#12 hizzy OFFLINE  

hizzy

    Stargunner

  • Topic Starter
  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 2:57 PM

I've tried in Stella 4.2 and up. Never worked!


Edited by hizzy, Sun Apr 21, 2019 3:01 PM.


#13 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 3:01 PM

I've tried in in most versions of stella. Never worked!

Well, we have it working now.  The problem is we can't just enable it by default, since it will break all newer DPC+ games.  And leaving it out breaks all older DPC+ games.  So we need to somehow determine when an older or newer ROM is being used, and selectively enable it.  That's what we're trying to figure out now.



#14 hizzy OFFLINE  

hizzy

    Stargunner

  • Topic Starter
  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 3:03 PM

Well, we have it working now.  The problem is we can't just enable it by default, since it will break all newer DPC+ games.  And leaving it out breaks all older DPC+ games.  So we need to somehow determine when an older or newer ROM is being used, and selectively enable it.  That's what we're trying to figure out now.

 

Thanks for your work! 



#15 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 4:20 PM

Spice, is there some version of the DPC+ driver that we can uniquely identify to selectively disable your original patch?  Perhaps some unique signature in the ARM code or something??



#16 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 12,801 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Sun Apr 21, 2019 5:26 PM

I don't have any source for the DPC+ driver.
 
This is the only game I'm aware of that should have it disabled.  The DPC+ driver is the first 3K, so based on this:
 
 
Darrells-Mac-Pro:hizzy darrellspice$ dd count=3 bs=1024 if=epicadv22.bin | md5
3+0 records in
3+0 records out
3072 bytes transferred in 0.000024 secs (127573286 bytes/sec)
8dd73b44fd11c488326ce507cbeb19d1
 
 
I'd recommend adding a function like:
bool CartridgeDPCPlus::DFxFRACINC_Jitter()
{
   string md5;
   md5 = MD5::hash(myImage,3*1024);
  
   if (md5 == "8dd73b44fd11c488326ce507cbeb19d1") return false;

   // add more md5 checks if we find other drivers that shouldn't implement jitter
 
  return true;
}
 
use it to set a flag during cartridge init, and modify the code to somethign like this:
      case 0x00:
        myFractionalCounters[index] = (myFractionalCounters[index] & (jitter_flag ? 0x0F00FF : 0x0F0000)) | ((uInt16)value << 8);
        break;



#17 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 6:07 PM

I'd planned to do it by md5sum and set a flag as you said, but good idea on doing the md5 of the driver only; that will eliminate having to take care of a bunch of ROMs.



#18 stephena OFFLINE  

stephena

    River Patroller

  • 3,408 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Apr 21, 2019 6:28 PM

OK, fixed.  Will be part of Stella 6.1.



#19 hizzy OFFLINE  

hizzy

    Stargunner

  • Topic Starter
  • 1,023 posts
  • Location:Montreal, QC

Posted Sun Apr 21, 2019 8:10 PM

OK, fixed.  Will be part of Stella 6.1.

 

Thank you very much!!! 






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users