Page 1 of 6

SNES vs Genesis

Posted: Thu Mar 07, 2013 9:32 pm
by 3gengames
Where does one beat the other? The Video, sound, pure power, etc? Just wanted to get some unbiased and technical thought on it...I'll start off by saying:

Genesis:
68K at 9Mhz. Pretty good, only problem is it takes a ton of cycles to do anything.

SNES:
65816 at 3.56Mhz. Pretty slow, but offered much more quick general processing but still didn't really out do the Genesis since you can't create clocks at magic. :o

What's everyone else takes on the system? In all major areas would be nice if you wanna get in to it. :) CPU,PPU/VDP,APU,Etc. :)

Re: SNES vs Genesis

Posted: Thu Mar 07, 2013 10:07 pm
by blargg
Technically they are different. Only when you look at specific things with a numerical rating can you find which scores better.

The 68K was certainly far better suited for writing games in a high-level language. 8 general-purpose 8/16/32-bit integer registers and 8 general-purpose 16/32-bit address registers (and also to a limited extent integer), versus a single 16-bit general-purpose register, and two 16-bit indexing registers. No contest.

I didn't like the Genesis much. Not very robust case, especially volume slider. Bad controller shape and trigger button layout. Too few buttons. AFAIK no stereo audio out on back, so you had to plug headphone-to-RCA into front, which was very vulnerable to getting hit. Video has annoying vertical artifacts. FM sound resulted in games sounding too similar. Hardware-enforced extra bootup text before game starts on later units. Distorted sound on later units. A few games were great, including music, and I still keep one around to play Michael Jackson's Moonwalker, Quackshot, Target Earth, and Wonder Boy in Monster World.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 4:22 am
by Bregalad
The SNES is technically supperior in all areas, and the so called faster CPU of the Megadrive is a hoax made by Sega fans, because even if it is clocked faster it needs more cycles to do anything making it roughly the same computing power as the SNES' CPU.
This is not surprising as the SNES is more recent

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 5:38 am
by tepples
3gengames wrote:68K at 9Mhz.
The clock speed of the Sega Genesis's 68000 CPU is 7.67 MHz. More precisely, it's 15/7 of the NTSC color burst frequency, or 15/7 times the clock speed of the Super NES's 65816 CPU when operating in fast ROM mode. However, the true speed factor is only 15/14 for these reasons:
  • The 68K's data bus is twice as wide.
  • The 68K can access its data bus only every four cycles.
As for "Blast Processing" in the chipset, the only remotely technical claim I've ever seen about "Blast Processing" is that it refers to high-speed copies from main memory to video memory using the DMA unit. The Super NES can do the same thing.
blargg wrote:The 68K was certainly far better suited for writing games in a high-level language.
Developer productivity win.
Bad controller shape and trigger button layout. Too few buttons.
No really usable shoulder buttons, but the later controller does have C, B, A, Z, Y, X.
AFAIK no stereo audio out on back
Redesigns had stereo audio out the A/V connector.
Video has annoying vertical artifacts
Compared to annoying diagonal artifacts on the Super NES.
Hardware-enforced extra bootup text before game starts on later units.
Game Boy, Game Boy Advance, GameCube, Nintendo DS, and everything later have bootup text as well. (This has been parodied.) Worse yet, Wii has no autostart; the player must interact with Disc Channel by pointing at the Sensor Bar with a Wii Remote even if the game can be played without the Sensor Bar.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 6:30 am
by Dwedit
You can remove the auto start stuff from the DS and the Wii. In fact, my Wii overheats and crashes 95% of the time whenever it tries to run the Wii menu. The only thing that makes the Wii usable is Bootmii auto-booting the Homebrew Channel, and the ability to run Gecko OS to boot disc games.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 6:42 am
by tokumaru
blargg wrote:Not very robust case
Really? I still own the Genesis I had as a kid and I dropped it from a fairly high place (the top of a VCR which was on top of a cabinet) quite a few times (my brother and I often pulled the controller cord too hard!), but it has hardly any scratches, and works perfectly.
especially volume slider.
Mine is in great shape, and I abused that as a kid too. The one in the japanese Mega Drive I bought more recently for US$10 is perfect too.
Bad controller shape and trigger button layout. Too few buttons.
I like it. Maybe it has to do with what we used as kids. If you had a SNES you'll probably find the Genesis controller weird and vice-versa. I love the SNES, but I prefer the Genesis controller (the SNES controller is too small, the directional button is not as responsive, etc.). Like tepples said, more buttons came later.
AFAIK no stereo audio out on back, so you had to plug headphone-to-RCA into front, which was very vulnerable to getting hit.
Yes, this is true for the first model. Not that it bothered me when I was a kid, since I only had RF and my TV wasn't even stereo.
Video has annoying vertical artifacts.
I can hardly see that on my (PAL-M transcoded) Genesis, but it's very noticeable on the japanese MD (not sure if it's still NTSC or has been modded).
FM sound resulted in games sounding too similar.
Little sound memory on SNES results in muffled sound, like if you had your head inside a bucket.
Hardware-enforced extra bootup text before game starts on later units.
Doesn't bother me at all.
Distorted sound on later units.
Can't really comment on that, as I've never seen (or heard the sound of) such units. From what I read, this was the case with cheap Genesis-on-a-chip consoles not manufactured by SEGA (even if they were licensed by SEGA).

IMO, SNES wins mostly on graphics (more colors, more layers, more effects, slightly lower resolution though), the rest is debatable. Everyone seems to think that SNES sound is God, but it has some serious shortcomings too (it's often muffled as hell because of highly compressed samples), so I really can't give it a win. Genesis music sound really crisp, even if the instruments are repetitive, so both have pros and cons.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 7:04 am
by tepples
tokumaru wrote:I can hardly see that on my (PAL-M transcoded) Genesis, but it's very noticeable on the japanese MD (not sure if it's still NTSC or has been modded).
PAL/M is likely to hide a lot of encoding stage sins. For one thing, the Pr component of the color subcarrier inverts phase every line.
tokumaru wrote:Little sound memory on SNES results in muffled sound, like if you had your head inside a bucket.
I'm pretty sure that's because samples weren't properly equalized for the Super NES DSP's Gaussian interpolation method. It's possible to make sounds not muffled by applying a pre-emphasis EQ before encoding them with BRR. If I were to get into Super NES development, I'd probably write a short script in numpy to find the proper pre-emphasis curve to make it sound like the more common cubic spline interpolation.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 8:31 am
by TmEE
This thread makes me laugh...

EDIT :
I am not as infinitely familiar with SNES as I am with MD and SMS but here goes :

Sprite setup is a lot more flexible on MD. You get grouping and chaining from hardware, all the tile layout is linear, you can use any of the 16 possible sizes at any time on any sprite. Sprites can use all of VRAM and coordinates are all flat. You can multiplex sprites too if you can fit at least one VRAM write next to sprite table changes, or the internally cached table is not updated. I could fill 32 x 240 area with just one sprite.

VRAM can be updated any time on MD, you will never get missed writes or reads. There is a 4 stage FIFO on the data port too so you can freely blast in small bursts of data during active scan time. Though when FIFO is overflowed the CPU is stalled. There are 18 access slots per line in active scan, one slot every 16 pixels, and one VRAM refresh cycle every 16 pixels, so only 3 slots per 64 pixels. In passive scan you can never overwhelm the FIFO, the VDP can take one access every 2 pixels, totalling 198 slots per line (with refresh slots every 64 pixels as before). DMA can use up ALL the access slots because it is VDP itself that is doung it.
There's 313 lines in 50Hz and 262 lines in 60Hz, which of 224 or 240 (only possible in 50Hz) are active. That gives such kind of figures on VDP access :

Code: Select all

+------------+---------+--------+
| Line width | Passive | Active |
+------------+---------+--------+
| 256 pixels |   161   |   16   |
| 320 pixels |   198   |   18   |
+------------+---------+--------+

+----+------------+---------+---------+---------+
| Hz | Resolution | Passive | Active  |  Total  |
+----+------------+---------+---------+---------+
| 60 | 256 * 224  |   6118  |   3584  |   9702  |
|    | 320 * 224  |   7524  |   4032  |  11556  |
+----+------------+---------+---------+---------+
| 50 | 256 * 224  |  14329  |   3584  |  17913  |
|    | 320 * 224  |  17622  |   4032  |  21654  |
|    | 256 * 240  |  11753  |   3840  |  15593  |
|    | 320 * 240  |  14454  |   4320  |  18774  |
+----+------------+---------+---------+---------+
Number of tiles that can be transferred :
+----+------------+---------+---------+---------+
| Hz | Resolution | Passive | Active  |  Total  |
+----+------------+---------+---------+---------+
| 60 | 256 * 224  |   191   |   112   |   303   |
|    | 320 * 224  |   235   |   126   |   361   |
+----+------------+---------+---------+---------+
| 50 | 256 * 224  |   447   |   112   |   559   |
|    | 320 * 224  |   550   |   126   |   676   |
|    | 256 * 240  |   367   |   120   |   487   |
|    | 320 * 240  |   451   |   135   |   586   |
+----+------------+---------+---------+---------+
The numbers in 50Hz are pretty big compared to 60Hz. I would love to see exact numbers of SNES PPU access.

One other cool thing that you can do with the VDP is displaying a 512 color flat bitmap at cost of reduced CPU time (proportional to bitmap size). You set up the DMA to Color RAM and put auto-incremeth value to Zero. Now you overwhelm the FIFO to gain synchronity to the VDP, disable VDP rendering and start a DMA transfer. This gives you a 198 or 161 pixel wide flat bitmap with pixel format like this :

Code: Select all

xxxxRRRxGGGxBBBx
It is nicely 16 bits too and what 68K can deal with very well. Only problem is that these CRAM pixels are 2 screen pixels wide, with a 4 pixel wide CRAM pixels where VRAM refresh slots are. There are 4 refresh cycles visible, and some in normally invisible screen area.
This method also allows to show full screen image, 288 lines in 50Hz and 240 lines in 60Hz. But as said earlier the CPU is halted during this time so it is pretty much limited to slide shows when the image is large. You also cannot start the bitmap during passive scan as you cannot overwhelm the FIFO, you can only do it in active scan.
This is a lot more useful in MegaCD applications though where the other CPU can render a new bitmap while MD side is displaying one.
Cycle counting is impossible, MD is an async design. One Z80 or VDP access or interrupt is enough to ruin all the precision.

Are there any artifacts on SNES when you update a Color RAM entry midline ? On MD you get one pixel in the access slot point with the color of the color being written to the CRAM. This is because the CRAM is single port and you either have missed write or missed read. Write happens and when the color is read the value being written to is read instead.

...and now I remembered one more thing... bitplanes. They allow for some neat things but compress badly and are pain to render into when you want to.
Without these there would be no 2bpp BG layers modes though... When I work on SMS I wish there were none of that, so I could do some nice optimizations and VRAM use and rendering and tile management. I may be too accustomed to packed pixels though.

Z80 in MD is primarly meant for sound management. Unlike the SPC unit, Z80 has full access to ROM and limited access to RAM at all times with no restrictions besides the stupid serial banking register. I can access all the ROM space with no involvement from 68K side.
Communication between 68K and Z80 are a bit more complicated because 68K RAM access is restricted, you can only clear a value in it due to bus timing issues. 68K cannot see Z80 RAM at all, until Z80 bus is requested which stops Z80. Then 68K can see ALL the Z80 RAM (and use YM2612, it is on same bus as Z80).
The RAM at Z80 side is pretty much only for holding the sound driver, you do not need to put any music or SFX data there, you can read it off ROM directly.

As for as sound generation goes, synthesis has its pluses and minuses. Certain sounds are impossible to make without using whole chip for that sound (orchestra hits), but most stuff is. My most I mean it. FM is extremely versatile and powerful, but with about 50 parameters per sound it gets overwhelming when you don't know what you are doing. ADSR of the FM chips is more natural in a way that sound is not forced back to zero on a new note, like it seems to be on the SPC. When you tap a key or string on an instrument the sound gets louder and louder and wont go silent for a moment. You have to use software envelopes to overcome that on the SPC.
BRR compression is weird stuff. 4 bit samples that can be filtered to sound less bad, but still bad... Sample RAM is very limited and looping is restricted to block sizes, and many games have badly looped sounds because of it. Lot of games use looping on percussion instruments and it sounds rather... horrible, I don't have a better word to describe it. Other problem with samples is that you really do not get a good range on a sample, only few octaves before the sound gets very different from what it should sound like, there's also no way to shape the timbre of the sound either. On FM you can have really dynamic sounds and you have nearly full octave range on any sound you create. 53KHz sample rate really helps too with the crispness and range.
I do like smooth panning that the SPC can do, and the negative volumes. Some neat stuff can be done this way. I wish I could invert output of a channel on the YM chip...

I'll stop for now, when you have questions about MD inner workings I can most probably answer.

EDIT 2 :
Answer to the post below : This stuff is gone through so many millions of time by now... what makes me laugh is some of the ignorance and stubbornness that make such threads appear again from time to time.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 9:05 am
by blargg
Why, because it was doomed to irrelevance from the start? (SNES versus Genesis)

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 10:15 am
by Shiru
TmEE wrote:looping is restricted to block sizes, and many games have badly looped sounds because of it.
This is the most annoying thing in the SNES sound. It is really difficult to make a nicely looped samples other than simple (hand drawn even) waveforms, you have to resample sound to a frequency where a period gets into multiply of 16 samples, do all kind of crossfades to smooth out the transition, and it still sounds bad. Also those clicks, because release stage takes fixed amount of time, and any major volume change or starting a new sample before release goes to zero makes a click. Damn thing.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 10:31 am
by Bregalad
BRRTools can be configured to automatically resample samples so they are at a multiple of 16 bytes. Several different resampling algorithms are available, so hopefully at least one of them will have decent results.

And I agree the click on new notes are annoying, but this can be easily solved by delaying all keys on by one "frame" (by "frame" I mean instance of the sound engine). This way, if a key off and key on happens at the same time, there is room to first key off the sample (the hardware takes care to make it goes to silent smoothly without clicks) then on the next frame you start the new note properly.
This is not restricted to the SNES and is the only way to make a consistent transition between two notes on a channel.

About the fixed release time, you are free to implement your own release by using the enveloppe mechanism. Same goes with volume changes.
Why, because it was doomed to irrelevance from the start? (SNES versus Genesis)
As a side note, Sega's rival console with SNES was named Megadrive I don't know why people insist on calling it Genesis which is a music band's name... it sounds weird to me.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 10:54 am
by Shiru
I can tell you from my practice of writing a music driver and making SNES music for my projects that it isn't all that easy. Could be solved, but still, quite a headache.

To be fair, Genesis has keyon clicking issues too, but at least no looping problems, and generally it felt much easier and comfortable to make Genesis music.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 11:12 am
by blargg
In the US, it was SEGA Genesis and Super NES. In Japan, it was the Super Famicom, not SNES, so it's a matter of choosing one of the two names for each system.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 1:28 pm
by WedNESday
To be honest I've never even heard of a group called SNES.

Genesis rock. I love Phil Collins.

Re: SNES vs Genesis

Posted: Fri Mar 08, 2013 1:53 pm
by MottZilla
Bregalad wrote:The SNES is technically supperior in all areas, and the so called faster CPU of the Megadrive is a hoax made by Sega fans, because even if it is clocked faster it needs more cycles to do anything making it roughly the same computing power as the SNES' CPU.
This is not surprising as the SNES is more recent
I don't think so. Since both CPUs are radically different it's hard to compare. But the 68000 in the Sega Genesis (the name is appropriate as it was very popular in North America where it went by that name) probably is faster or rather it offers more computation time for games. The SNES CPU was under powered. Perhaps due to the time between when it was designed and when it was released. But I really doubt that "it needs more cycles to do anything" is a fair assessment. You're going to write programs differently between the two processors so it makes things harder to compare. The difference in speed/performance probably isn't as dramatic has fanboys will make it out to be. One thing to consider is the PC-Engine which has a 65xx type CPU that is clocked at over 7mhz. So it is the same family as the SNES with a CPU going atleast twice as fast.

My main complaint about the Genesis hardware was and still is that I think they should have allowed for more palette memory to boost the overall amount of color palettes available to backgrounds and sprites. The 4 palette sets for a technical 64 colors at once is too few. The PC-Engine had 32 palette sets! Perhaps too much. SNES had 16 palette sets (256 colors) which was a good spot. I think it would have had a great benefit to Genesis graphics if sprites and backgrounds had separate palette memory banks, basically 4 * 16 colors for BG, and another 4 * 16 colors for Sprites for 128 colors. I think it would have been sufficient to dull the gap between SNES and Genesis. And I don't think the cost in hardware would be been too great to add logic and the memory to support that.

The key thing to remember in all of this debate is that both consoles had games that utilized what was available to them very well and resulted in great games. Both systems in the right hands could produce amazing results.