Blast Processing was marketing buzzwords, but the Genesis did, in fact, have a faster CPU than the SNES.
It was clocked faster, but wasn't necessarily faster.
Blast Processing was marketing buzzwords, but the Genesis did, in fact, have a faster CPU than the SNES.
I think a competent SNES port of Sonic 1 might be feasible. I'm not a programmer of course, much less an ancient assembly one, but it's the gut feeling I get from seeing similar fast paced on the system like Sparkster. There would likely be some notable concessions like more slowdown or flicker than usual when there's lots of objects like rings on the screen at once. It's all about redesigning select parts to better accomodate for what the SNES can't do as good, or could possibly do better in other cases.
Obviously some manner of Sonic game would be possible, considering they made Sonic games for the Master System.
The GBA port of Sonic 1 clearly shows that similar hardware could not have handled blast processing, and the Sonic Advance titles look inferior to the Genesis games.
Maybe the SNES could have ran the games with the Super FX chip? Any thoughts?
Honorable mention should go to this surprisingly competent pirate Sonic on the NES
https://www.youtube.com/watch?v=ffb-Bwbl4M8
Total OT: God I love that version of the Forest Maze in the beginning of his videos, never found a source though
in a technical comparison between SNES and Genesis, SNES is superior in the numbers in every way except one -- Genesis has a higher clock speed on its CPU.
That's "blast processing" -- Sega identifying the one thing in a tech comparison that doesn't lose out to SNES and making it into marketing lingo.
Very smart marketing, but there's no real substance there. SNES is better hardware from a technical standpoint.
public class MULU implements InstructionHandler
{
protected final Cpu cpu;
public MULU(Cpu cpu)
{
this.cpu = cpu;
}
public void register(InstructionSet is)
{
int base = 0xc0c0;
Instruction i = new Instruction() {
public int execute(int opcode)
{
return mulu(opcode);
}
public DisassembledInstruction disassemble(int address, int opcode)
{
return disassembleOp(address, opcode, Size.Word);
}
};
for(int ea_mode = 0; ea_mode < 8; ea_mode++)
{
if(ea_mode == 1)
continue;
for(int ea_reg = 0; ea_reg < 8; ea_reg++)
{
if(ea_mode == 7 && ea_reg > 4)
break;
for(int r = 0; r < 8; r++)
{
is.addInstruction(base + (r << 9) + (ea_mode << 3) + ea_reg, i);
}
}
}
}
protected final int mulu(int opcode)
{
Operand op = cpu.resolveSrcEA((opcode >> 3) & 0x07, (opcode & 0x07), Size.Word);
int s = op.getWord();
int reg = (opcode >> 9) & 0x07;
int d = cpu.getDataRegisterLong(reg);
int r = s * d;
if(r < 0)
{
cpu.setFlags(Cpu.N_FLAG);
}
else
{
cpu.clrFlags(Cpu.N_FLAG);
}
if(r == 0)
{
cpu.setFlags(Cpu.Z_FLAG);
}
else
{
cpu.clrFlags(Cpu.Z_FLAG);
}
cpu.clrFlags((Cpu.V_FLAG | Cpu.C_FLAG));
cpu.setDataRegisterLong(reg, r);
int x = s;
x = (x & 0x5555) + ((x >> 1) & 0x5555);
x = (x & 0x3333) + ((x >> 2) & 0x3333);
x = (x & 0x0f0f) + ((x >> 4) & 0x0f0f);
x = (x & 0x00ff) + ((x >> 8) & 0x00ff);
return 38 + (x << 1);
}
protected final DisassembledInstruction disassembleOp(int address, int opcode, Size sz)
{
DisassembledOperand src = cpu.disassembleSrcEA(address + 2, (opcode >> 3) & 0x07, (opcode & 0x07), sz);
DisassembledOperand dst = new DisassembledOperand("d" + ((opcode >> 9) & 0x07));
return new DisassembledInstruction(address, opcode, "mulu", src, dst);
}
}
MULU.W <ea>, Dn 16 x 16 -->; 32
There is no such thing as "Blast processing" it was pure marketing
http://www.giantbomb.com/blast-processing/3015-963/
Hey look, "Blast Processing" in the unreleased NES game "Bio Force Ape"
https://www.youtube.com/watch?v=BmSgbhAxZ_k
If we're talking numbers, you're forgetting that the Genesis has a higher resolution (SNES has a high res mode but I can't think of any game that actually uses this for things other than menus and such), more sound channels, and there's probably other things I'm not as knowledgeable about. And I think you might also be underestimating what a huge general advantage a better CPU is due to the large amount of different applications that has, several of them brought up in the thread already like the specific math calculations for Sonic's physics and Shiny's art compression.
SNES was also locked at 32khz audio while Genesis could go up to 44.1khz.
https://www.youtube.com/watch?v=KmN5eDIOJqY
The GBA port of Sonic 1 clearly shows that similar hardware could not have handled blast processing
If we're talking numbers, you're forgetting that the Genesis has a higher resolution (SNES has a high res mode but I can't think of any game that actually uses this for things other than menus and such).
Using Mode7 to produce much smoother and seamless rotation on the special stages would have been interesting. Though you would still have to account for the unique gameplay mechanics being able to carry over as Krejlooc mentioned. Maybe it's more feasible in the special stages since it's more of an isolated environment with less stuff to account for?
Are there any notable pinball games on the SNES? That could probably be a useful point of reference.
Sure. Whatever tasks the CPU can't handle could be deferred to specialized co-processing logic on the cartridge itself. That's the beauty of the SNES design.
For Sonic, I'd think that it's the physics in the main game itself that would be the hardest thing to get working well on SNES... for the special stages, yeah, just redo them in Mode 7.Using Mode7 to produce much smoother and seamless rotation on the special stages would have been interesting. Though you would still have to account for the unique gameplay mechanics being able to carry over as Krejlooc mentioned. Maybe it's more feasible in the special stages since it's more of an isolated environment with less stuff to account for?
Are there any notable pinball games on the SNES? That could probably be a useful point of reference.
The GBA isn't similar at all to the SNES though. It uses a 32bit ARM CPU at 16.78MHz, while the SNES used a 16bit Ricoh CPU at 3.58 MHz. The GBA is well beyond the capabilities of either the SNES or the Genesis.
On the other hand, I couldn't see Super Mario World being anywhere close to what it was on the SNES....even if it was not the most speed-inducing game there is in the 16 bit world..
Thanks. Saved me the trouble of posting that.SNES had a slow-ass CPU because Nintendo had originally planned for it to be backwards compatible with NES. This plan was scrapped while the slow-ass CPU was kept. Mega Drive's CPU was twice as fast. The end.
And thus the game would have been like $99 on the snes.
The Sega Genesis had faster CPU.
I can't imagine the Super NES doing Sonic 2's split screen mode as fast as the Genesis. Even the Genesis slowed down then one of the players dropped a lot of rings, for example...
Didn't games like Final Fight series not even allow 2-player coop due to SNES's slow ass CPU? Streets of Rage series on Genesis had 2 player coop and FAR more enemies on screen as well.
So yeah, Sonic and Streets of Rage could not run the same on SNES.
That + 60fps was absolutely mind blowing in 1991, and I agree it still looks fantastic today.Sonic still looks amazing today. It has a sheer amount of animations happening all at once.
On topic though: the speed could be done. But everything would else would have to be dumbed down in the process.
The SNES's high resolution mode was used in RPM Racing, which is the prequel to Rock 'n Roll Racing.
The background layer is using the SNES's high resolution 512x448 mode, while the foreground objects are being displayed at the systems standard resolution of 256 x 224 and is being stretched on top. The SNES's high resolution layer can only display a maximum of 16 colours, which is why it was rarely ever used.
It could have done Sonic 1 easily, maybe even better. It would have been tough to do Sonic 2 as well, but it could probably manage.
The Sprites in Streets of Rage weren't as detailed as Final Fight though and were much bigger.
That + 60fps was absolutely mind blowing in 1991, and I agree it still looks fantastic today.
For curiosity's sake... what exactly does the SNES DSP series of special chips do? They are math co-processors, do they have functions for hardware mul/div?
http://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#DSP
I can't find specific information, but it seems to be that's what it's primary purpose was. If so, $99 seems way overkill when you look at the prices of games like Pilot Wings and Mario kart.
The hardware was perfectly capable, and anyone that suggests otherwise is fooling themselves.
Sonic 1 and 2 run on the same engine. All of them do, in fact, with small optimizations and tweaks.
I like it when people say stuff like this without making any sort of technical argument at all
You're right, but I do think it's important to note the distinction between Sonic 1/2, which are virtually identical at the engine level save for small tweaks and optimizations and game-specific additions, and Sonic 3K, in which many of the game's core subsystems were heavily rewritten to be more efficient and use less CPU cycles. Not that you don't know all this already, I'm just saying