03 November, 2009

Perhaps this is what my computing skills are for...?

Some idea that sprung to mind.

For quite some time, I'd been going on what could be considered a wild goose chase, working out how to build a computer, in terms of the hardware aspect. The motive was essentially that this would be a computer useful for the demoscene and gaming and stuff. However, I did manage to conceive a video chip design (theoretical, anyway) which would be useful for a windowing system and would allow for direct single-buffered graphics of pretty much any pixel depth at any time.

However, this idea could be used to go against the consumerist culture, including liberating people from the need to use a specific vendors' products (/me points finger at Apple and Microsoft).

Have a look at your computer... or a think about it if you don't want to open it up just yet. Out of all the components inside your computer, chances are, the most expensive one is probably your video card. If you have a laptop, you probably have integrated graphics, but still - some of these can be pretty powerful. Why do we have such powerful graphics cards? One thing: gaming.

I read an article in an APC magazine at least a year ago. It was about how graphics card companies like nVidia who were excited at how their video cards could process 190... somethings (we'll just refer to them as "processing units" - I only remember the numbers). The world's first supercomputer, the CRAY-1, could calculate 5 of these units, and an Intel Pentium 4 Extreme Edition or something could do 15.

So why hasn't the CPU experienced so much development?

It seems to be that, after a certain point of time, computers weren't about maths anymore. They were for gaming. (I blame Pong for this.) After trying to get the Commodore 64 to do anything decent (in an emulator, I don't have the actual machine), I stand back in awe (actually, more like horror) at the fact that the Commodore 64's predecessor, the VIC-20, was marketed as a "games machine". How they managed to produce good games, I don't know. Then again, Viznut of PWP managed to do some incredible demos for the VIC-20, of which I don't know how they were done, either - especially considering that he was only using 5.5KB of RAM and had to use some of it for video memory.

Nowadays, 5.5GB of RAM - yes, GB, not MB - is most likely present in some of the slightly higher-end computer models of today. This laptop has 2DMGB (drivemakers' gigabytes - it's really 1.9GB) of RAM. The integrated graphics on this (Intel GM45 Express) are powerful enough to run a free game called Nexuiz at about 40fps on the lowest settings, whereas using the OpenGL software renderer, I'd only be able to punch out... maybe 3fps. It's doing 2D acceleration as I type (either that or the 1.6GHz dual-core Intel processor, in comparison with the 1MHz 6502 processor found in the C64 and the VIC-20, is fast enough to blit stuff really, really fast).

The thing that's so absurd is the fact that they're now using graphics cards to do what a CPU would normally do. They have what's called a GPU (graphics processing unit, as opposed to central processing unit), which can crunch numbers faster than... uh... a CPU.

Something has gone horribly wrong.

I could go into detail about the war between the PC and the Amiga which I missed but nevertheless got to see an Amiga in action myself, but I'd rather get to a point. (In short: the PC eventually became a better option for gaming, and Commodore went bankrupt trying to develop a new project to battle the PC.)

The PC was originally designed to be as a productivity machine, the sort you'd have in an office. Now, put a coin-slot in, chuck in a few controllers, and it's the sort of thing you'd have in an arcade.

Here's where the plan begins.

I would like to develop a computer designed with productivity in mind. These are a few objectives.
  • It needs to have a free, open-source architecture. For the first time in years, I feel quite strongly that this should go under the GPL.
  • It needs to be repulsive to proprietary, third-party vendors. Forcing people to compile code might not be the best solution, but it's a start... or something like that. Something like the GPLONLY flag in Linux kernel modules (these are not LKMs, by the way - those are the old BSD kernel modules) could also help. Who knows.
  • Ideally the software should be coded by the same sorts of people who can work wonders out of 4KB of code. Elaborating on this, all the software packages for it should fit snuggly onto a floppy disk. Therefore, the whole thing will most likely be coded in assembly.
  • Its design must not be tampered with for the purpose of making it more suitable for gaming.
If you have any idea what kind of processor this should have, or if you reckon that I should pull an Acorn and make my own (despite having no actual hardware design experience), please say. The point is that this is to liberate people from having to buy software for their computer and to get people out of the "it has to be this company" mindset.

No comments:

Post a Comment