SNES native 3D performance ST-NICC no SFX demo

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
lidnariq
Posts: 9659
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: SNES native 3D performance ST-NICC no SFX demo

Post by lidnariq » Sat Aug 22, 2020 5:24 pm

When I said "not drawing" I was just thinking of "not rasterizing", not PAL vs NTSC. Honestly hadn't thought that far.

Just decreasing the number of scanlines spent in DMA by 15 tentatively looks like it improves performance too, but I don't have anything set up to do a good side-by-side test.
(Patch: at file offset 0x1B22 in DSR_STNICCC_NO_FX_FINAL_PAL.smc, change 0x80 0x38 to 0x00 0x2F)

psycopathicteen
Posts: 2943
Joined: Wed May 19, 2010 6:12 pm

Re: SNES native 3D performance ST-NICC no SFX demo

Post by psycopathicteen » Sat Aug 22, 2020 6:48 pm

Oziphantom wrote:
Fri Aug 21, 2020 7:26 am
if you could update the span buffers to be 8 tall and hence you go through a whole "tile"s worth at once, it might work out faster to plot custom chars, update the map and then DMA fill with known solid tiles. It would save DMA bandwidth but I'm not sure it wouldn't cost more in terms of rasterise time.
I was talking about if you do it as a compressed FMV, like how they did it on the MD.

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Sun Aug 23, 2020 12:52 am

Nikku4211 wrote:
Sat Aug 22, 2020 1:23 pm
The demoscene is all about exploiting accidental advantages. Hardware 3D acceleration didn't exist for consoles back in 1990, but here we are streaming vector data to fake it. Still, though, I feel like requiring a PAL SNES is not that much different from requiring a Super FX chip, for anyone who isn't in Europe, Africa, most of Asia, Oceania, or some parts of South America.
That is a really convoluted way of saying "bad for Americans, Canadians and Japanese". The point being the NTSC regions is about 5 countries while the PAL/SECAM region is most of the world. https://en.wikipedia.org/wiki/PAL#/medi ... -SECAM.svg however most SECAM receivers will decode PAL as well and SCART RGB makes it moot as they are both 625lines so the timings match. I'm fairly sure there is no SECAM SNES it's just a PAL one.

Nikku4211 wrote:
Sat Aug 22, 2020 1:23 pm
This. The issue with adding more requirements means that compatibility is broken, and that less people can run your game or demo. The difference is that developers would want their games to work overseas so that they can make the most $ from their game, while demos are free, so their developers don't need to care about compatibility since they're not making $ anyway.
I'm not asking for "there is only PAL and nothing else", I'm saying
"here is the NTSC version"
"here is the PAL enhanced version where we put the things back in NTSC couldn't handle we had to take out"
So NTSC people still get a copy and they still have the game. And in the 1~2 years they took to get a game to us in PAL if they bothered, gave them plenty of time to upgrade it and give us a better version, which would have been a nice thank you for the crap they pulled.

It is also worth noting that the Demo Scene is very very PAL heavy, the parties, the groups are almost exclusively PAL territory.
Last edited by Oziphantom on Sun Aug 23, 2020 1:19 am, edited 1 time in total.

User avatar
tokumaru
Posts: 11858
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: SNES native 3D performance ST-NICC no SFX demo

Post by tokumaru » Sun Aug 23, 2020 1:08 am

Mandatory reminder that Brazil is very misleadingly marked as PAL in that chart: or PAL-M system uses NTSC timings, so all our games are NTSC.

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Sun Aug 23, 2020 1:15 am

93143 wrote:
Sat Aug 22, 2020 3:26 pm
Oziphantom wrote:
Fri Aug 21, 2020 10:53 pm
Loosing sprites was about not having VRAM, the sprites eat 32K, so if you need to double buffer MODE7 there isn't enough room to hold 2x MODE7 + 32K of sprites.
But you can't double buffer Mode 7. The tilemap is where it is. That's why you need high bandwidth to do large frame sizes - with fractional buffering, the portion of the frame that can't be double buffered has to be updated in one shot, and the portion that can be double buffered is no larger than the free space you have once the full frame is stored, which in Mode 7 is not very large. The bigger the data, the smaller the double buffer has to be and the larger the single shot has to be.
I though there was a way to set the upper bit, I've not really ever used Mode7, and when you do its tends to be for "that 1 thing in that 1 part that does the thing", so not best at it.
93143 wrote:
Sat Aug 22, 2020 3:26 pm
Also, if those sprites eat 32 KB, it's because the display is being handled inefficiently. A good chunk of that frame is just solid colours, which could be done with repeated tiles, or even backdrop colours.
32 KB of sprites, eh? I wondered if that was what your IRQ was for...
So the "monitor" is nominally 3 64x64 sprites wide, and is 3 high. But actually the bottom row is two rows of 32x32 because I had to do a Palette swap. And the middle one is Empty/unused. And you can't touch Palette RAM during anything but VBlank it seems. So the Purple is a colour window fixed add which then becomes grey at the bottom of the monitor because I had to solve a colour issue. There are too many colours in the sprites, so I had to split the background. Thus there are 2 IRQs, the first flips the sprite bank, the 2nd changes the colour. As per the other thread getting them stable was a pain, and basically I blow 2~3 raster lines on a WAI to be sure sure. I did think about splitting it more and going Mode1 but it was a lot more effort and deadlines loomed.
Looking at the final assets we have now, in 32x32 I could fit them into a 16K bank ;) But this wasn't always the case.

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Sun Aug 23, 2020 1:17 am

tokumaru wrote:
Sun Aug 23, 2020 1:08 am
Mandatory reminder that Brazil is very misleadingly marked as PAL in that chart: or PAL-M system uses NTSC timings, so all our games are NTSC.
PAL-M is the hybrid, in Commodore Nomenclature it is "Drean", which is more powerful and anything else. As it gives you NTSC clocks per line for PAL lines. Making it even sadder you mostly got lumped with NTSC stuff.

93143
Posts: 1225
Joined: Fri Jul 04, 2014 9:31 pm

Re: SNES native 3D performance ST-NICC no SFX demo

Post by 93143 » Sun Aug 23, 2020 1:41 am

Oziphantom wrote:
Sun Aug 23, 2020 1:15 am
And you can't touch Palette RAM during anything but VBlank it seems.
Where did you get that impression? CGRAM is always open for business. As long as the PPU isn't literally accessing it right this moment, you can change whatever entry you want. HBlank, forced blank, VBlank, it's all good. Even if the PPU is fetching colours, you can write to CGDATA and it will go to whatever entry is being fetched, which is how I did the SNES version of Fantom Bitmap.

I can see it being a pain with all those DMA transfers mucking up IRQ timing and causing compatibility issues with HDMA. Writing to whatever index the PPU happens to be looking at isn't usually what you want...

Were there any 1/1/1 PAL consoles? Does anyone know?

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Sun Aug 23, 2020 4:54 am

the Atari Programmer told me it couldn't be as problem early on, then he pointed me to some docs, but now that I read the docs it clearly states f-blank, v-blank and h-blank all that windowing setup and sprite splitting GAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

User avatar
Nikku4211
Posts: 102
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Nikku4211 » Sun Aug 23, 2020 12:30 pm

Oziphantom wrote:
Sun Aug 23, 2020 12:52 am
That is a really convoluted way of saying "bad for Americans, Canadians and Japanese". The point being the NTSC regions is about 5 countries while the PAL/SECAM region is most of the world. https://en.wikipedia.org/wiki/PAL#/medi ... -SECAM.svg however most SECAM receivers will decode PAL as well and SCART RGB makes it moot as they are both 625lines so the timings match. I'm fairly sure there is no SECAM SNES it's just a PAL one.
Sure, more of the world uses PAL, but how much of them have had a SNES? All I know is Europe, Australia, Ireland, and UK. Besides, the US is very huge anyway, and Canada and Mexico(which also uses NTSC) can add quite a bit, too. I have no idea if the SNES was released in the Caribbean or Central America or the Philippines or in the NTSC countries in South America.
Oziphantom wrote:
Sun Aug 23, 2020 12:52 am
I'm not asking for "there is only PAL and nothing else"
That's kind of what 'PAL-required' means.
Oziphantom wrote:
Sun Aug 23, 2020 12:52 am
It is also worth noting that the Demo Scene is very very PAL heavy, the parties, the groups are almost exclusively PAL territory.
Yes, most of it is in Europe, and PAL-exclusive techniques are used quite a bit. Too bad I'm not European.
Last edited by Nikku4211 on Sun Aug 23, 2020 1:31 pm, edited 1 time in total.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

lidnariq
Posts: 9659
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: SNES native 3D performance ST-NICC no SFX demo

Post by lidnariq » Sun Aug 23, 2020 12:44 pm

Nikku4211 wrote:
Sun Aug 23, 2020 12:30 pm
Brazil.
Just because tokumaru's comment might have gotten lost...

Brazil uses 60Hz video. Labelling it "PAL" is pedantically true but misleading.

User avatar
tokumaru
Posts: 11858
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: SNES native 3D performance ST-NICC no SFX demo

Post by tokumaru » Sun Aug 23, 2020 12:45 pm

Nikku4211 wrote:
Sun Aug 23, 2020 12:30 pm
Sure, more of the world uses PAL, but how much of them have had a SNES? All I know is Europe, Australia, Ireland, UK, and Brazil.
Again, consoles in Brazil run NTSC software, not PAL.

User avatar
Nikku4211
Posts: 102
Joined: Sun Dec 15, 2019 1:28 pm
Location: Bronx, New York
Contact:

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Nikku4211 » Sun Aug 23, 2020 1:31 pm

lidnariq wrote:
Sun Aug 23, 2020 12:44 pm
Just because tokumaru's comment might have gotten lost...

Brazil uses 60Hz video. Labelling it "PAL" is pedantically true but misleading.
tokumaru wrote:
Sun Aug 23, 2020 12:45 pm
Again, consoles in Brazil run NTSC software, not PAL.
Okay, took it out since PAL-M only has 525 lines anyway and that's what the discussion is about.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.

User avatar
TmEE
Posts: 760
Joined: Wed Feb 13, 2008 9:10 am
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
Contact:

Re: SNES native 3D performance ST-NICC no SFX demo

Post by TmEE » Sun Aug 23, 2020 5:34 pm

I do think the whole PAL and NTSC stuff should be dropped and only 50/60 used. I can run 50 or 60Hz in any of the video standards, including stuff that normally doesn't exist like NTSC or PAL-M in 50Hz etc, only thing that really matters on software standpoint is the framerate.

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Mon Aug 24, 2020 1:20 am

I think the two treads are twisting and causing confusion, so lets reset and change the terms a bit.

For Video games released back in the day.
NTSC version
PAL enhanced version
This means there is a copy for a the NTSC machine and a copy of the game that does actually need PAL because it is enhanced, so its not just the NTSC version moved over. You can't get the PAL enhanced version working on NTSC, it explicitly needs a PAL machine to run. But there is a "normal" NTSC version for the NTSC market, so the game devs don't have to make something that won't work in NA, SA and Japan, they still have a product to sell in those regions.

or Demo's
PAL and NTSC are different categories.
So you have PAL demos and NTSC demos. They are ranked and rated differently and have their own "records" tallies. Although on the SNES it seems the differences are minimal on a scan line, so there is probably nothing an NTSC system can do that a PAL one can't other than 60fps. The Clock Speed is higher so in a benchmark the SNES NTSC will win when you measure things in how many seconds it takes to do X. Although the SPC 700 has the same clock on both, which means the access windows to and from it are different, it may be that one can get more data into the SPC700 over the other giving potential for different effects more sample data for music.

Going for the 4 extra cycles on that one line in interlace mode on a PAL is most probably a neither hear nor there trick for exploitation meaning the clocks per scanline are "the same" removing any limits that would change. So on the SNES it's probably a case of PAL SNES will win/tie every category and limit.
So we have "PAL Exclusive" and possibly "NTSC Exclusive" as well.

which of cause gets problems because Chrono Trigger and Final Fantasy 6 are "NTSC Exclusives" but could actually work on a PAL machine 100% fine, they just couldn't be bothered. But what it means is "NTSC Region Exclusive". To which
"PAL Hardware Exclusive"/"NTSC Hardware Exclusive"
"PAL Region Exclusive"/"NTSC Region Exclusive"

Oziphantom
Posts: 913
Joined: Tue Feb 07, 2017 2:03 am

Re: SNES native 3D performance ST-NICC no SFX demo

Post by Oziphantom » Mon Aug 24, 2020 1:22 am

TmEE wrote:
Sun Aug 23, 2020 5:34 pm
I do think the whole PAL and NTSC stuff should be dropped and only 50/60 used. I can run 50 or 60Hz in any of the video standards, including stuff that normally doesn't exist like NTSC or PAL-M in 50Hz etc, only thing that really matters on software standpoint is the framerate.
running NTSC at 50fps won't make it work the same as PAL, in that you won't get the PAL demo working on it. FPS is not the issue, Clocks per Frame and VBlank timings are the issue. Which PAL and NTSC mandate.

Post Reply