Advice for artifact free 4-way scrolling

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Advice for artifact free 4-way scrolling

Post by tepples »

NewRisingSun wrote:I would recommend not assuming that the top and bottom eight scanlines are shown --- so don't put anything important there --- but not assuming that they are not shown either. If you can avoid showing garbage in any part of the screen, then by all means, do avoid it.
How insistent are you about "all means"? Would you accept, for example, a game where the NTSC cartridge costs $40 but the PAL cartridge costs $50 because it contains a more advanced mapper or more RAM on the cartridge, such as an upgrade from UNROM/UOROM to MMC3, from no WRAM to WRAM, or from CHR ROM only to CHR ROM and CHR RAM, solely to implement means of hiding the seam? Would you be willing to wait for the developer to see how many copies a game sells in NTSC markets and only a year later make a PAL version reengineered to hide artifacts if the sales quantity warrants? And if so, how many others like you would be willing to wait and/or pay just to hide the seam?

Why an upgrade from UNROM/UOROM to MMC3 might be necessary:
The means of hiding artifacts means requires access to a programmable interval timer (PIT) or fine-grained CHR bank switching, such as switching to the bank containing CHR data for sprites that have been software-clipped at the top.

Why adding WRAM might be necessary:
Additional scratch space to hold CHR data for sprites that have been software-clipped at the top.
Additional scratch space to hold additional rows of cached decoded tilemap data.

Why an upgrade adding VRAM might be necessary:
Hold CHR data for sprites that have been software-clipped at the top for display.
Hold additional nametable data for 4-screen VRAM.
Hold additional nametable data for status bar.
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Advice for artifact free 4-way scrolling

Post by NewRisingSun »

tepples wrote:How insistent are you about "all means"?
As insistent as the phrase "If you can avoid showing garbage" implies. If it's unavoidable, then so be it, but don't nonchalantly show garbage thinking that nobody will ever see it and judge your game for it. For example, PAL Solstice's top screen garbage at the title screen is completely avoidable, therefore inexcusable, and should have been grounds for "Seal of Quality" (cough) denial.
User avatar
bleubleu
Posts: 108
Joined: Wed Apr 04, 2018 7:29 pm
Location: Montreal, Canada

Re: Advice for artifact free 4-way scrolling

Post by bleubleu »

They absolutely ARE rendered normally.
You are right. I just meant they are not visible... From what I've read (and please correct me if I'm wrong) emulators will generally tend to crop the top/bottom 8 scanlines. CRTs are similar (on average) but some will be biased a bit lower (like show from 12 to 236).

Either way is fine with me, if I ever need to, it will be very easier to add a small black at the bottom to account for these CRTs.

Anyhow, I managed to get everything working. Completely artefact free 4-way scrolling, NO need to additional 16px black bars like JP did (again, working under the assumption that only lines 8 to 232 are visible). A cool ~1000 lines of ASM (lots of spaces/comments tbh).

-Mat
Post Reply