Old Skool programmers question

Commenter

Newcomer
A lot of old consoles and home computers used ye olde z80 zilog including the original gameboy, yet some of these machines clearly produce visibly better graphics than other. Compare say a spectrum with a master system for instance or a coleco vision with a master system. Are there any explanations as to why machines using hte same cpu at the same speed should produce such differences in graphics considering everything was output by the cpu at this time and dedicated graphcis chips didn't exist?
 
considering everything was output by the cpu at this time and dedicated graphcis chips didn't exist?
Dedicated graphics chips did exist. They don't look much like modern GPUs, but they were there.
The usual model was to have a bunch of memory about what sprites and whatnot were at what locations on-screen, including their associated color palettes and whatever, and produce the result pixel-by-pixel as the video output hardware scans out. The CPU would set up that memory, but the graphics unit would "render" it, and different graphics units could have completely different capabilities in terms of sprite counts, sprite sizes, colors, etc, across different rendering modes.

Beyond that, different machines had different amounts of available storage for the games, different amounts (and types) of RAM, different sound systems (which the CPU also needed to manage), etc.
 
The "same" can be said comparing the Amiga, the Mega Drive and the Neo Geo, all of which used the 68000 CPU (well, with different clocks), but to highly different results.
 
And this is just a nitpick, but Gameboy didn't actually have a z80, but a different sort of customized 8080.
 
Are there any explanations as to why machines using hte same cpu at the same speed should produce such differences in graphics considering everything was output by the cpu at this time and dedicated graphcis chips didn't exist?
As others have already mentioned, computers of the past did have dedicated graphics hardware, and the capabilities of said hardware is the reason graphics looks so wildly different between different platforms using the same CPU. The ultimate example is golden age arcade coin-op hardware, which used a (comparative for its time) crapton of custom silicon to produce very advanced graphics with multiple layers of background, rich color palettes and lots of sprites.

The opposite end was the Atari VCS, designed in the mid-1970s, its graphics hardware was so basic that the CPU had to run a program to manually move video data into two sets of hardware registers each corresponding to a full video line, and another set of registers corresponding to player/enemy sprites (monochrome and low resolution) and a "bullet". That was basically all you had in terms of graphics support, and of course, just putting a very low-res image on the screen occupied a huge chunk of that primitive CPU's power. The VCS had a fairly broad palette (64 colors IIRC), but you had only one simultaneous foreground color and one background color supported by the hardware. You could change palette values mid-frame, but that consumed additional CPU time...

The Atari XL series of 8-bit home computers used basically the same (slightly updated) graphics chip as the VCS, with the addition of a second CPU-like custom processor that ran a video list program, taking over the task of feeding data to the graphics hardware. The reason that this second chip actually was programmable made it possible to do some additional neat tricks that needed little or no CPU intervention, such as smooth scrolling for example and additional video modes with more colors or higher resolution.

Graphics today is too easy... :p Back in the day, everything was more hardcore. You had no APIs to call to get your stuff drawn, you had to bang on the hardware registers directly to get things done. If you were skilled, you could even produce results the hardware really wasn't supposed to do, such as removing borders (overscan), and so on.
 
Are there any explanations as to why machines using hte same cpu at the same speed should produce such differences in graphics considering everything was output by the cpu at this time and dedicated graphcis chips didn't exist?
Yes - you're wrong. ;)
http://tvtropes.org/pmwiki/pmwiki.php/Main/GraphicsProcessingUnit?from=Main.GPU

Console 2D GPU
This kind of GPU, introduced to home systems by the TMS 9918/9928 (see below) and popularized by the NES, Sega Master System and Sega Genesis, forces a particular kind of look onto the games that use them.
...
In this GPU, the tilemaps and the sprites are all built up into the final image by the GPU hardware itself. This drastically reduces the amount of processing power needed — all the CPU needs to do is upload new parts of the tilemaps as the user scrolls around, adjust the scroll position of the tilemaps, and say where the sprites go.
Graphics processors (called video processing unit back then) abounded.
 
Meh, "introduced by TMS 9918/9928." Even the Atari 2600 had dedicated graphics hardware in its TIA chip, which from what I can determine predated TMS9918 by a couple years. There are probably some other early consoles that would qualify.

It's all semantics from here, but if you were to demarcate what's a fixed function accelerator from what's a graphics "processor" I don't think you'd want to pick there.

Not to say that TI's chip wasn't extremely influential, possibly even having directly influenced all of the 8-bit and 16-bit consoles outside of Atari 7800.

And if we're looking at differentiators between old systems with the same or same-ish CPUs, let's not ignore the audio hardware. That was a pretty big deal back then.
 
Last edited:
And if we're looking at differentiators between old systems with the same or same-ish CPUs, let's not ignore the audio hardware. That was a pretty big deal back then.
The best part of the ongoing Genesis vs SNES war.
 
Last edited:
The best part of the ongoing Genesis vs SNES war.
Btw, that wasn't me you quoted, that was @Exophase. :) And yes, SNES truly trounced Genesis something fierce when it comes to sound; having 16-bit fidelity audio with realtime decompression and dedicated DSP for echo/reverb effects and so on made SNES an audio system that had really long legs, performance-wise. SNES games still sound good when listening to the best audio tracks, and some games had great SFX as well. Rock'n'Roll Racing for example stands out clearly in my mind...
 
Interesting. I though it might come down to faster memory speeds or something. I remember playing r-type on cpc 464 and while this was one of the better ports the cpc received, the graphics were still a lot better and smoother on the sms version despite the master system only having 24k total ram, so I guess the video chip in the sms might account for the better performance.
 
Interesting. I though it might come down to faster memory speeds or something. I remember playing r-type on cpc 464 and while this was one of the better ports the cpc received, the graphics were still a lot better and smoother on the sms version despite the master system only having 24k total ram, so I guess the video chip in the sms might account for the better performance.
Definitely. Sprite hardware gave consoles a tremendous advantage in genres like side-scrollers which allowed them to run circles around PCs which had otherwise similar specs, since consoles had effectively no graphical draw costs at all. The issues of raw bandwidth didn't get very "solved-ish" in the PC space until the rise of graphics accelerators.

And yes, SNES truly trounced Genesis something fierce when it comes to sound; having 16-bit fidelity audio with realtime decompression and dedicated DSP for echo/reverb effects and so on made SNES an audio system that had really long legs, performance-wise. SNES games still sound good when listening to the best audio tracks, and some games had great SFX as well. Rock'n'Roll Racing for example stands out clearly in my mind...
SNES had a really robust sample playback system for the time, it was one that was "easy" for devs to get really decent-sounding results out of, and games usually sounded much better on SNES.

...However, the reason the discussion gets interesting is that the audio systems were so different, and the Genesis' approach does technically have its strengths. Like greater frequency and being capable of smoothly shifting timbre in lengthy notes. The console usually sounds like crap, but occasionally really well-executed audio development and raw/electronic/DnB target styles produced cool results, even some stuff that IMO easily stands toe-to-toe with the best sound from SNES. The best demonstration of this might be the Time Trax menu theme which sounds like this on actual Genesis hardware, although the Genesis version of that game didn't actually get released (the recording is thanks to a 2013 leak).
Here's a GAF thread discussing Genesis sound, there are some interesting posts by lazygecko in there.
 
Last edited:
Definitely. Sprite hardware gave consoles a tremendous advantage in genres like side-scrollers which allowed them to run circles around PCs
The Amstrad CPC wasn't a PC though, but rather a (mainly) British 8-bit computer with primitive graphics capabilities with low color fidelity and low screen resolution (if you want color, that is), and basically no hardware acceleration of any kind. :) The main CPU had to grunt through everything, which is amongst the reasons why consoles tended to look much better, graphics-wise.

...However, the reason the discussion gets interesting is that the audio systems were so different, and the Genesis' approach does technically have its strengths.
Technically, yes. However unless you want your music to sound very 1980s Jan Hammer-like, you're not going to get very good mileage out of that chip (unless you're a rampant fanboy, which that GAF thread you linked to proved quite well, lol. No way I'd read past the first page there... ;))

The youtube clip you linked to is more an artistic accomplishment than anything else really. It doesn't stand toe to toe to SNES tunes on a technical level (and best SNES tunes had equally masterful composers, of course.)
 
PC is a good example of how limited a CPU could be. The Amiga with its custom chips ran rings around the PC in gaming even with the PCs monster CPUs, right up until 3D. Then the Amiga's bitmap based graphics hampered it on top of the weak CPU, and we got comical postage-stamp displays of DOOM clones, and super chunky pixels.
 
PC is a good example of how limited a CPU could be.
It turns out that processors optimized around serial execution would competitive at massively parallel tasks.

It would be interesting to see what you could do in real time with a Xeon Phi these days, but calling those chips "CPUs" in a discussion around the PC space might raise some eyebrows.

The Amiga with its custom chips ran rings around the PC in gaming even with the PCs monster CPUs, right up until 3D. Then the Amiga's bitmap based graphics hampered it on top of the weak CPU, and we got comical postage-stamp displays of DOOM clones, and super chunky pixels.
Several decades later:

"What's tha... Uh, are you trying to port Crysis to your C64?"

The Amstrad CPC wasn't a PC though, but rather a (mainly) British 8-bit computer with primitive graphics capabilities with low color fidelity and low screen resolution (if you want color, that is), and basically no hardware acceleration of any kind. :) The main CPU had to grunt through everything, which is amongst the reasons why consoles tended to look much better, graphics-wise.
The 80's were a fuzzy time. Amstrad CPC wasn't really a "PC" by the modern definition, but by 80's standards it was in the "we can call it a PC without confusing anyone" realm.

It even has "PC" in the name ;)

(unless you're a rampant fanboy, which that GAF thread you linked to proved quite well, lol.
I linked the thread partly because those sorts of things are okay repositories for examples, and partly because I thought lazygecko's posts were legitimately interesting.

The youtube clip you linked to is more an artistic accomplishment than anything else really. It doesn't stand toe to toe to SNES tunes on a technical level
We're... going to have to agree to disagree on that. That theme achieves good quality on the punchy bass, which is something that the SNES tended to struggle on, perhaps due to the usefulness of frequency dividing and the expensiveness of trying to store and play long notes at the full 32KHz. The tune takes heavy advantage of long guitar notes with lots of harmonic drop-out, something that the SNES couldn't really do in a smooth and continuous manner. And the general sound cleanliness and clarity holds up pretty well, even on headphones.
 
The 80's were a fuzzy time. Amstrad CPC wasn't really a "PC" by the modern definition, but by 80's standards it was in the "we can call it a PC without confusing anyone" realm.

It even has "PC" in the name ;)
Yeah. We had a spell where the 'home computer' concept was discrete from the 'personal computer', but really they were the same thing, local computers rather than mainframes, and PC computer magazines covered all of them. For all extents and purposes we can use PC for any personal computer, regardless of architecture, up to maybe the 90s. Then with the demise of everything except Apple, it becomes a reference to x86 computers running Windows, with an OS clarification allowing for Linux PCs etc.
 
With the Genesis, it was up to the developer how good the audio was. Some games have really REALLY good music and samples. Others sound like complete garbage. Often times the same game sounded massively worse on Genesis. But it didn't HAVE to. I guess it often was a "that's good enough" approach (not saying lazy developers, but ignorant consumers).

SNES was probably easier to do the "lazy" approach and still have good audio. But the best audio on SNES vs. the best audio on Genesis is... in my opinion, not far apart. The "less than good" on Genesis probably sounds way worse than the equivalent on SNES.
 
It turns out that processors optimized around serial execution would competitive at massively parallel tasks.
Not really, I'd say... Amdahl's law limits the useful "parallelity" of serial CPUs. (Same with parallel designs too of course, but in graphics rendering for example we haven't hit the ceiling yet.)

It would be interesting to see what you could do in real time with a Xeon Phi these days
IIRC, the Phi is enormously, ludicrously expensive, so we probably won't see many hobbyist applications for that chip...

Also, does it even run standard x86 executables? IIRC, the design of that chip is sufficiently different to require specifically compiled software.

The 80's were a fuzzy time. Amstrad CPC wasn't really a "PC" by the modern definition, but by 80's standards it was in the "we can call it a PC without confusing anyone" realm.
It wasn't a PC in any respect really because it didn't have an x86 CPU (Z80), didn't have a PC BIOS, ISA bus, CGA/Hercules graphics or any of the other characteristics which defined an early PC. It also did not run MS-DOS. It even had its own bizarre hard-shelled floppy discs; they looked similar to standard 3.5" floppies, but had a proprietary incompatible shape. The drive was single-side single density, 40 track, which meant it only stored like 160kB per side, and you had to manually flip the disc to store data on the opposite side...

It even has "PC" in the name ;)
Indeed, and that's roughly as close to a PC as it ever came. ;)

We're... going to have to agree to disagree on that.
Not sure what there is to disagree on. The example tune you cite plays well to that console's strengths, but anecdotal evidence is not evidence. If you want to play tunes that don't need punchy bass or somewhat realistically faked electric guitars you're almost entirely shit outta luck with the cheap piece of crap FM synth the Megadrive had. Like I said in previous posts, if you wanted 80s synthesizer kind of sound, it produced serviceable results. Otherwise...not so much really. :p

The SNES' sound hardware was much more versatile. It wasn't perfect of course, apart from the aspects you point out it only had 64k sound RAM to play with for example which had to hold not just samples, but also player data for the tune itself as well as the DSP program code responsible for running the player (and just about the slowest bus in the universe connecting the twin sound chips back to the console itself; the sound system was almost entirely stand-alone.) Still, seen as a whole, it was a vast improvement over older consoles, including the Megadrive. None of them had even had a DSP before for example.
 
It wasn't a PC in any respect...
See my post. There were two classes of computer - mainframe where everyone used a dumb terminal, and a personal computer that had local processing for the user. Home computers are this second type, ergo are PCs by the formal definition, and were treated as PCs in the computing press who didn't differentiate between an MS-DOS IBM clone or a C64 (or an Amstrad CPC).
 
Back
Top