Page 9 of 9

Re: BGMODE or parameter changes during scanline

Posted: Fri Aug 07, 2015 5:02 pm
by Near
> It works on a Super NES, which is what matters.

You would think that, but experience shows me otherwise.

We found a bug that caused Der Langrisser to freeze in ZSNES, especially when you hit the fast forward key. We reported it to them in 1998, pagefault said he'd fix it soon, and it's still broken in 2015. It also apparently happens periodically in Snes9X v1.43 and earlier.

When we released the game, we warned people about the emulator bugs, and recommended real hardware or bsnes.

On the first day of release, we had two people accuse us of making the fan translation "bsnes-only", even though the original Japanese game had the same issue.

TL;DR: people are really, really stupid.

> This is a wake-up call to nocash and the 9x team to get their behinds in gear.

I think the 9x team is pretty much dead. They're all still around, but we're over four years out from the last release now, with no signs of project life.

I do know of one other emulator that has pixel-based PPU timing, but it's not public. Also have not heard anything on that in over a year, so it may be dormant/dead, not sure.

> Perhaps that's why it's 5 slow cycles, not 4: to let the previous cycle finish.

It certainly could be.

(H)DMA has a really bizarre and complex clock sync system for its DMAs (it first syncs the CPU clock tick count to a multiple of 8, then does the DMA, then syncs it back to a multiple of the last CPU cycle's clock count, then resumes.) But that causes a variable length of extra clock cycles, which DRAM refresh doesn't exhibit, so that's not what DRAM refresh is doing.

> Might NES timing details (the 513/514 cycle OAM DMA thing and the DMC DMA waiting a few cycles for an interrupt's triple-write to finish) inspire something?

It doesn't for me.

Re: BGMODE or parameter changes during scanline

Posted: Fri Aug 07, 2015 9:17 pm
by 93143
byuu wrote:It does work. Quite a striking difference from v094, too :D
Indeed. Thank you!
You're gonna get so much crap from people claiming you made the game "bsnes only", though :P
Heh. Yeah, probably. Assuming I actually pull this off in the first place...

I figure it's a SNES game, not a ZSNES game, so if ZSNES can't handle it that's not my problem. I could probably make it ZSNES-compatible, or at least Snes9X-compatible (ZSNES can fail awfully hard on even mildly creative uses of the hardware), but I'd have to sacrifice a lot of visual authenticity and I don't want to do that.

I'm not especially bothered about broad compatibility - the original game exists, after all. This project is more about pushing the limits of the Super NES. I am glad you've somewhat resumed bsnes development, though; there are no strong indications of the SD2SNES gaining GSU support any time soon, and for a while there I was faced with the distinct possibility that I was developing a game that would only fully work on a custom Super FX devcart. I mean, I'll have to build one eventually anyway, but still...
Instantly. One thing I'm not sure on is if it happens between cycle edges or absolutely immediately.
Hm.
(H)DMA has a really bizarre and complex clock sync system for its DMAs (it first syncs the CPU clock tick count to a multiple of 8, then does the DMA, then syncs it back to a multiple of the last CPU cycle's clock count, then resumes.)
Hmm.

Well, it's not like I actually need to know this at the moment. If I get really curious there's always the bsnes source code...

Re: BGMODE or parameter changes during scanline

Posted: Sun Sep 13, 2015 8:05 pm
by tepples
byuu wrote:I often say the SNES Jr is more like a console clone than a revision. May be a bit overly harsh compared to the reality, but I felt it was really shady the way they didn't bump the chip revision# s, yet changed a bunch of things (PPU raster stuff, SMP timer glitch fixes, etc.) I haven't done super extensive testing, but every time I do any kind of deep testing, I spot a new difference. There's probably a ton more we don't know about, even if that's conjecture for now.
Does the 1CHIP behave like the Jr.? In #nesdev, fys and ikari_01 said it did.

Re: BGMODE or parameter changes during scanline

Posted: Tue Sep 15, 2015 10:51 am
by Near
I can't say for sure.

I also didn't do really extensive testing. I just know that the SNES deck I was using next to the SNES Jr rendered raster effects quite differently. Was as if the INIDISP brightness reg changes had much less effect and the colors were a lot brighter on the SNES Jr. And some other differences like that.

But I don't recall which of my SNES decks I was using at the same to go and check on it now.

Testing this would have to be done by someone else, or to wait a really long time until I'm back up and running again.