Why did Super Mario RPG and Kirby Super Star use an SA-1?

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Why did Super Mario RPG and Kirby Super Star use an SA-1?

Post by psycopathicteen »

From the information I can find, it looks like it's just there to speed up compression time between levels, and to cover up sloppy programming. Both of which sound like lame reasons to add a 10 Mhz CPU to the cartridge. These games are probably not using more than 30% of the SA-1's speed, and the S-CPU is probably doing nothing but sPPU updates, and HDMA effects.
adam_smasher
Posts: 271
Joined: Sun Mar 27, 2011 10:49 am
Location: Victoria, BC

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by adam_smasher »

*shrug* Copy protection, better compression with faster decompression, because it'd make their lives easier (no one cares if your code is sloppy if it runs fast enough, and sloppy code is often faster to write). Who outside of 1996 Nintendo/HAL/Square can say?

Whatever the reason, it paid off: KSS is easily the most fluid and dynamic platformer on the system, so it's hard for me to feel as though it's really going to waste there.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by Drew Sebastino »

KSS is easily the most fluid and dynamic platformer on the system
Ever played DKC 1-3?
It's hard for me to feel as though it's really going to waste there.
It's easy for me to say it's going to waste; I see no reason as to why this game needs the SA-1. The DKC games do compression in real time and don't have any less action onscreen. I think the SNES only needs something like the SA-1(outside of 3D) for heavily action oriented games with real time compression, which (as far as I know) has never been proven to be possible.
adam_smasher
Posts: 271
Joined: Sun Mar 27, 2011 10:49 am
Location: Victoria, BC

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by adam_smasher »

Espozo wrote:Ever played DKC 1-3?
Sure have. Ever played Kirby Super Star? :D
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by MottZilla »

They may have already had a stock of them produced and needed to put them to use. And copy protection is not something to overlook. SNES was affected by piracy and titles like Super Mario RPG and Kirby would be games pirates wanted.

I have heard conversations before saying that the SA-1's potential wasn't really realized in any of the games released. But that doesn't mean it didn't have any benefit. Faster decompression, "covering up sloppy programming", copy protection, etc. All sound like good things to me. I don't understand why you say sloppy programming like they should have just "got good" instead. In the real world of making these games the consumer and the developer doesn't care if a game has sloppy code. The consumer cares that the game works and the developer cares that the product is finished on time.

Projects risk failure or cancellation if they do not meet milestones or reach completion on time. Projects you make on your own time you can spend as long as you want perfecting every little detail. This luxury doesn't exist in the professional industry.
calima
Posts: 1745
Joined: Tue Oct 06, 2015 10:16 am

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by calima »

Did Mario RPG have no effects requiring it? It's been years since I played it.
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by MottZilla »

To be exactly how it is, it might require the SA-1. But I think the idea is that the same general game could have existed without the SA-1. It's harder to tell versus something like the Super FX games that clearly required the added hardware.

I think the SA-1 is a nice idea, maybe even worthy of being something like a 32X where you could sell the SA-1 chip to the consumer once in some form and then have game carts that plug into it. It's the same 65816 CPU but significantly faster with some extra goodies. Isn't that what most people complain about with the SNES? The lack of processing power.
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by psycopathicteen »

MottZilla wrote: Projects risk failure or cancellation if they do not meet milestones or reach completion on time. Projects you make on your own time you can spend as long as you want perfecting every little detail. This luxury doesn't exist in the professional industry.
Nintendo still should've optimized their SDK code library from time to time so that developers weren't limited by the same old routines.
creaothceann
Posts: 611
Joined: Mon Jan 23, 2006 7:47 am
Location: Germany
Contact:

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by creaothceann »

psycopathicteen wrote:compression
*decompression
psycopathicteen wrote:Nintendo still should've optimized their SDK code library from time to time so that developers weren't limited by the same old routines.
Why would they be limited? They could easily write their own routines.
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by psycopathicteen »

Because writing a new routine would take 2 seconds longer than copying and pasting code.

BTW, does anybody know if the decompression in KSS and SMRPG is done in real time, during a load time, or done dynamically?
Last edited by psycopathicteen on Tue Apr 04, 2017 2:15 pm, edited 1 time in total.
User avatar
Fisher
Posts: 1249
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by Fisher »

adam_smasher wrote:the SA-1's potential wasn't really realized in any of the games released.
I also think it wasn't fully used, as some other chips that are used in only a couple of games.
Nice to know my impressions based on random compararisons are somewhat real :-)
Revenant
Posts: 462
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by Revenant »

psycopathicteen wrote:BTW, does anybody know if the decompression in KSS and SMRPG is done in real time, during a load time, or done dynamically?
KSS uses exactly the same (de)compression routine that HAL had been using since circa 1989 (Adventures of Lolo, etc.) As far as I know it's only used during screen/area transitions and so on, in a pretty standard way.
Near
Founder of higan project
Posts: 1553
Joined: Mon Mar 27, 2006 5:23 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by Near »

There are zero games that show off the power of the SA-1, sadly.

The best examples are the two golf games that render entire scenes to a giant bitmap. But it's ruined by the fact that it takes 5+ seconds to draw one scene this way.

The chip also has over a dozen features that not a single game ever used. It's ... quite mind-boggling.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by Drew Sebastino »

adam_smasher wrote:Sure have. Ever played Kirby Super Star? :D
Yes, and I even own Kirby Super Star Ultra. I still don't know what you mean; it's always felt like an early SNES game to me in terms of graphics (aside from the partially prerendered backgrounds) and mechanics. I suppose there is a lot of versatility though (being able to bring the second character that can look like any of the enemies anywhere), but it's still no better than DKC where everything is dynamically loaded in, which makes it possible to put any enemy anywhere (not counting running out of space in the object table) as long as the palette (objects using the same palette won't add to the limit) and vram limit aren't met. (Bosses don't work properly outside of their stages, though, as they break the vram system.) There is more total animation going on in the DKC games.
MottZilla wrote:I don't understand why you say sloppy programming like they should have just "got good" instead. In the real world of making these games the consumer and the developer doesn't care if a game has sloppy code. The consumer cares that the game works and the developer cares that the product is finished on time.
Well, wasn't this game more expensive than other SNES games at the time? It's not like there were no drawbacks to using the SA-1 (otherwise, every game from the time period would have it.)
MottZilla wrote:Isn't that what most people complain about with the SNES? The lack of processing power.
Most people see how Super R-Type and Gradius III run like shit, and then look just at 3.58 and compare it to 7.68 without taking into account memory accesses per cycle, or bus width, or ISA, or whatever. :?
creaothceann wrote:Why would they be limited? They could easily write their own routines.
What psychopathicteen said. The decision to use the SA-1 was more than likely driven by laziness time.
Revenant wrote:KSS uses exactly the same (de)compression routine that HAL had been using since circa 1989 (Adventures of Lolo, etc.) As far as I know it's only used during screen/area transitions and so on, in a pretty standard way.
Well, that settles the discussion! :lol:
hex_usr
Posts: 92
Joined: Sat May 09, 2015 7:21 pm

Re: Why did Super Mario RPG and Kirby Super Star use an SA-1

Post by hex_usr »

If Super Mario RPG or Kirby Super Star could be rewritten to not use the SA-1 and still be the same game(s) without any performance penalties, that would be amazing for all SD2SNES users. The SD2SNES compatibility page says that SA-1 support is "to be determined". On top of that, I have a GamerzTek clone SNES which I've heard is incapable of handling SA-1 (and S-DD1) games, and if that rewrite ever gets made, I would absolutely put these games on my SD2SNES. Super Mario RPG is easily the game I have the fondest memories of from my childhood.

However, Super Mario RPG stores some data that isn't just scratchpad into the IRAM, including the current party formation at $3033-3037, so that raises a potential issue for both it and Kirby Super Star: obviously, the BW-RAM would become SRAM, but will the internal WRAM and cartridge SRAM combined have enough space for whatever these games stored into IRAM?
bsnes-mcfly: the bsnes v073 and bsnes-classic killer (GitLab repository)
Post Reply