Previous Thread
Next Thread
Print Thread
Page 19 of 120 1 2 17 18 19 20 21 119 120
Joined: Aug 2009
Posts: 1,251
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,251
Likes: 171
Where?

Kale #52720 08/14/09 10:58 PM
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
Here's one for ya - the main menu of Rock n' Roll Racing (US) is just a purple screen. The developer logos prior to it are fine - it looks like a palette DMA got missed or something.

Joined: Aug 2009
Posts: 1,251
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,251
Likes: 171
Shaq Fu is hanging for some reason, but I guess it's related to the sprite OAM stuff...when the game starts to do a DMA to the OAM port the game'll hang for some reason. Indeed a debug trick (by trigger random values to "zero-page" address $84 when it hangs during attract mode) shows the following screen...

[Linked Image from mamedev.emulab.it]

...attempting to write more causes graphics artifacts with the (incidentally) sprites...ideas?

As for Rock N' Roll Racing, it's definitely un-initialized palette RAM, if you wait an attract cycle it puts the following:

[Linked Image from mamedev.emulab.it]

EDIT:
It does this:
GDMA-Ch 3: len: 10000, abus: 7E2200, bbus: 2122, incr: 1, dir: CPU->PPU, type: 0

For non-experts: BBUS 0x2122 is the cgram port, cgram size is 0x200 and 0x7e2200 is null data. Pratically these are the DMA params modified by a previous DMA, if I remove the hook-up colors are right (i.e. if I keep the params to be abus = 0x7e2000 and length = 0x200). Still searching for a explaination (timings or a DMA quirk?)

Last edited by Kale; 08/14/09 11:50 PM. Reason: info for Rock 'N Roll Racing
Kale #52722 08/14/09 11:50 PM
Joined: Dec 2005
Posts: 443
Senior Member
Offline
Senior Member
Joined: Dec 2005
Posts: 443
Best way to watch for OAM is *usually* to watch for 544 byte DMA transfers (destination $04, but the 544 has always jummped out at me faster)

I'm thinking it's still going to wind up being a timing issue for Shaq Fu.

Possible lead on the other one (investigating now).

Apparently, Rock n Roll Racing expects DMA to stay in-bank. (Bank wrapping is not at all uncommon on the 65816, see MVN/MVP and several other modes where the top 8 bits of an address are fixed). My best reading of BSNES indicates likewise (the A-bus address only increments a 16-bit address and appends 8 bits for bank). MESS, otoh, uses a 24-bit DMA address.

edit because Kale added stuff: If DMA isn't reset after a DMA, that's what I would expect them to be. Short of DMA from a fixed source. Except for the length. That should be 0 after a transfer.

Edit (I'm stupid): oh. 0x10000 that's probably solved by adding the bank wrap. because the last 0x200 bytes that DMA would write? the palette!

Last edited by Heretical_One; 08/14/09 11:54 PM.
Joined: Aug 2009
Posts: 1,251
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,251
Likes: 171
Ok, considering that the "param update" is...

snes_ram[SNES_DMA_BASE + dma + 2] = abus & 0xff;
snes_ram[SNES_DMA_BASE + dma + 3] = (abus >> 8) & 0xff;

(i.e. not +4 update)
..indicates that you're right, thanks smile

[Linked Image from mamedev.emulab.it]

Kale #52733 08/15/09 09:04 AM
Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
Originally Posted by Kale
Where?

end of Mode 0 demo. if you look at BSNES, there is a black square passing in front of the strip of stars which is missing in MESS wink

Joined: Apr 2006
Posts: 737
Likes: 1
Senior Member
Offline
Senior Member
Joined: Apr 2006
Posts: 737
Likes: 1
r5439 - Tiny Toon Adventures - Buster Busts Loose (U)

At the end of the first level, you get a chance to play a mini-game selectable from a spinning wheel. This wheel still show correctly at times, but not all the time. I notice if I fast forward - it seems to show correctly all the time.

[Linked Image from mameload.mameworld.info]

[Linked Image from mameload.mameworld.info]

[Linked Image from mameload.mameworld.info]

Here is an .INP to get you there and through it.
SNES .INP for Tiny Tune Adventures - Buster Busts Loose (U)




Joined: Aug 2009
Posts: 1,251
Likes: 171
Kale Online Sleepy OP
Very Senior Member
OP Online Sleepy
Very Senior Member
Joined: Aug 2009
Posts: 1,251
Likes: 171

r5440 /src/mame/machine/snes.c: [SNES]: Fixed HDMA mid-frame inits.


According to Anomie:

Originally Posted by "Anomie"
Note that enabling a channel mid-frame will begin HDMA at the next HDMA
point. However, the HDMA register initialization only occurs before the
HDMA point on scanline 0, so those registers will have to be
initialized by hand before enabling HDMA.

This was completely missing from the current emu, hooking it up means the following nice stuff to happen:

Energy Breaker (J)
[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

Super Ghouls 'n Ghosts / Choh Makai Mura

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

Kale #52745 08/15/09 07:23 PM
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
Nice!

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
Quote
(Now the SNES Test program stars sprites are identical when switches from non interlace to interlace, dunno at the current time how they squeeze in half like bsnes does)

If I'm not mistaken, the half-compression is due to enabling OAM interlace.

Quote
what about the black square moving in front of the stars?

It isn't a black square, it's range-tile over. There are too many sprites on the scanline to show all at once, so one ends up not getting rendered. They change the OAM base address to determine which is the FirstSprite, allowing them to cycle through all of them.

Support for this goes hand-in-hand with the RTO test in the electronics test, so you can kill two birds with one stone.

Page 19 of 120 1 2 17 18 19 20 21 119 120

Link Copied to Clipboard
Who's Online Now
3 members (AJR, Dorando, 1 invisible), 354 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com