Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Build your own game console...

This thread is locked; no one can reply to it. rss feed Print
Build your own game console...
Grudge
Member #958
February 2001
avatar

Hey guys,

I've been thinking about this for a while not. I'd actually be interested in building my own small game console. Something very basic, just a normal little circuit on which you can connect two controllers. Something to hold the games on (something like a game cartridge), and basically output it to the tv.

The reason I want to create this, is I think it would be cool to built something like this and program small games for it. Using the Peitz Philosophy (Better Gameplay, Low Graphics)...

Basically modify the allegro library (or create a addon) which will compile allegro programs into something that can be downloaded or ... onto the storing mechanism and then you can play it via the television.

Anybody game for this, anybody want to help out, or have any ideas or tips. (Open Allegro Game Console Project ? ). Maybe I'm way over my head with this idea, but I think it would be cool to try something like this.

What do you guys think ?

P.S - if you think this is the stupidest thing you've ever heard then please go easy ;)

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Matthew Leverton
Supreme Loser
January 1999
avatar

I think you're best off using standard PC components (mini-versions) and using a stripped down *nix operating system. A CD-ROM (could even burn to mini-CDs) would make the best data holder.

You could spend more time designing the case this way, and maybe come up with something cool. ;) People will never see the inside of it, after all.

madpenguin
Member #2,201
April 2002
avatar

It's not an entirely daft idea. I used to envision something similar, except this would be a full-on x86 computer in a very small form factor case, with a CD-ROM, forward-facing USB ports and TV-out, preferrably with some mid-range 3D hardware (I imagined a Riva TNT2-based setup).

It would boot Linux in single-user mode (I hadn't gotten as far as working out a boot medium yet, maybe flash rom), with drivers enough for USB joysticks, sound, accelerated 2D and 3D, then check the CD-ROM for a disc containing a game (there'd have to be some sort of script on the disc to let the machine know what to launch, similar to what the autorun.inf on a Windows CD does). If it found one, it'd launch it, otherwise, it'd check to see if it were an audio disc, a VCD, a CD full of MP3s, etc.

This would actually be an expensive configuration when compared with game consoles, but on the plus side, the tools for content authoring are either freely available or inexpensive, and do not require NDAs, publishing licence fees, or any of that other icky stuff.

I'm not sure how many people would go in for one of these unless it had some killer title that ran only on it, but it'd be neat to have. :) I'd buy one.

EDIT: I wrote this before I saw Matthew's post. Great (or, in my case, almost satisfactory) minds thinking alike?

---------------------------------------------
Cynicism field generator is enabled and operating at 97% of capacity

Paul Pridham
Member #250
April 2000
avatar

I just saw something along these lines today, at Walmart. It is a Gamecube-like controller shaped battery operated game system, and it plugs into your T.V. via RCA cables! It has 10 games on it, and they have an NES look about them. I was rather amazed to see this thing, it seems like such a cool idea. The thing was only about $20 Canadian or so, too! Incredible.

Imagine this taken one step further, where it broadcasts its own low-power T.V. signal (pick it up on the bunny ears!). :D It would be the ultimate travel game for staying at motels and such. Anyway, I say go for it... clever, low-tech stuff like this is very cool and I'd love to see more of it. Gotta get my electronics workshop set up one of these days...

Flecko
Member #566
August 2000
avatar

Heh...this is great. I'm glad you brought this up grudge. I'm a computer engineering major, so naturally I deal with computers down to the tiniest hardware element.

Heres my take: If you want to use allegro and any set of standard tools, that means building of an x86 mini-computer.

If thats your route, I suggest the following. Get a mini-itx (eden)processor/case(See Mini-itx), a slimline cd/dvd drive, and all the other "standard" goodies you feel fit to throw in. Then you'd have to get a stripped linux distribution(maybe roll your own?), something that boots directly to X, and something that you can use to automatically start whatever allegro program is on the cd automatically. Say, give it standard name, and put the allegro dll on the cd, so that when new versions come out, you won't have to "upgrade" the console. You could even go as far as to have no hard drive and just make a linux distro that boots from the cd. And since this is a console, you'll want it to boot fast right?(less than 30 secs) So your answer for this is of course that linux bios project to put a kernel right on your bios(sorry, no url off hand)...that makes booting times nearly instant. The other hardware(ram, soundcard, videocard) would all be up to you of course, but consider it 'set in stone' once you put it in there. That way, it'll be more console-like.

This setup would be almost exactly what you need. So this hardware is all in place, and you could develop it fairly cheaply(as far as a computer can be considered cheap) and it would mean a rather short development/build time since its basically be a computer.

The other option is to build a "small" computer on your own using individual chips. Having recently build a 2mhz motorolla 68HC11 computer(with an arse spanking 32kRAM and 32kROM), I can say that this will be a bit more time consuming. Not to mention the fact that it has no VGA port, no form of standard output other than via the serial port on a PC, and has a very limited toolset available. Developing "custom" hardware like this is out of the question if you ask me. I've been working for about a week building a program that will utilize a VGA port and "turn on" the monitor, and let me tell you, its hard. Not to mention the fact that it has no true OS, so porting allegro is impossible.

So basically, a small clone PC is the way to go. If you're interested in building one, and making a "set" number of tools, I'd be happy to offer assistance. I gotta warn you, I have little to no knowledge of rolling up a linux distribution. It'd be cool though if we could "standardize" a set of components, and make the software available for download, to allow people to build their own AllegroCube(tm) ;D This way, with directions, everyone could participate. I'm sure it'd have limitations, but thats what makes it cool.

Please, lets keep this topic alive, as I've put alot of time and thought into it in the past. Let me know what everyone thinks, because I think grudge is onto something :D

UPDATE: Here's what you need to aim for.

-Flecko

ben's drivel
A shark on whiskey is mighty risky, but a shark on beer is a beer engineer. This message brought to you by Old Kentucky Shark of Kentucky Nightmare Whiskey Co.

Matthew Leverton
Supreme Loser
January 1999
avatar

Silly question, but applicable, I suppose. How long does it take for a mini-linux distro to boot? I'd hate to wait a couple minutes to fire up the first game. :)

Flecko
Member #566
August 2000
avatar

I have no actual numbers to compare it to, but think about it. If you strip out all the extra crap that doesn't need to be there for a console(Printer stuff, server apps, net stuff maybe? and so on), it would probably boot about as fast as any other console. I mean...when you consider the logo showing up and doing its fun little animation on any modern console, then yes, the boot times would be comparable. The article above(roll your own..) has a quote saying 20 seconds...and even his linux has extra stuff in it. Plus, the LinuxBios project claims "between light switch and dial tone" boot speeds. Its also linked from the roll your own article.

Now I'm all excited.

EDIT: And on top of that, the AllegroCube(tm) would have a custom boot logo or animation as well ;D

PS, AllegroCube? Someone's gotta have a better name.

-Flecko

ben's drivel
A shark on whiskey is mighty risky, but a shark on beer is a beer engineer. This message brought to you by Old Kentucky Shark of Kentucky Nightmare Whiskey Co.

Thomas Fjellstrom
Member #476
June 2000
avatar

Well, If you put the distro together your self, and are sure you only have the stuff you need, then You could theoretically have a linux that boots in a few seconds... (10 maybe? less? mine boots up in 30 or so...)

Also, If you have a compatible motherboard, look at the Linux-BIOS project. It has a linux that replaces your bios. So that linux is booted in milli seconds. But normally, you have that linux boot up a larger version on the hard drive, but aparently, it's supposed to be much faster than some BIOSs. (like mine, with the lame A$$ Promise extention that takes 30 seconds to realize I don't have any hard drives pluged into that controller... :( )

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Grudge
Member #958
February 2001
avatar

hmm, got better response than I thought I would.

Flecko : Thanks for all your ideas, i'm def going to bother you with alot of questions, etc.

So it basically comes down to this :

Need to build up a mini computer. Something small, yet effective. Something which will bootup quickly and without any hassles, definitely a Linux os.

Quote:

So your answer for this is of course that linux bios project to put a kernel right on your bios..

http://www.linuxbios.org/status/index.html

Something worth checking out. So basically create a mini linux distro with something like X running on it.

Quote:

but consider it 'set in stone' once you put it in there. That way, it'll be more console-like.

Anybody have any ideas for a low spec machine. We want to run linux on it, with an x server. The allegro games it should be able to run should be a low res (320x240 ?)

As for storage, what kind of storage devices do you guys think would work. Keep in mind that I want to keep the whole console (pc clone?) as small as possible.

Quote:

It'd be cool though if we could "standardize" a set of components, and make the software available for download, to allow people to build their own AllegroCube(tm)

This is exaclty what I had in mind. Please keep the ideas rolling...

EDIT : I'll start playing with creating a small as possible linux-distro running...

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Flecko
Member #566
August 2000
avatar

Genius idea...man I'm smart. To avoid having to put an expensive hard drive in the console. Make a bootable mini-Linux distro on a cd, then put the game you want on the cd as well. This way, it could boot and run off the cd. There is plenty of room on a cd for a Linux distro and a big game(the roll your own article claims 450megs...and it has alot of fluff that can be trimmed.) This way, people that build their own have a 1-time download of the distribution, then just download a game, and add it in, burn a cd, and voila.

Just another idea.
-Flecko

ben's drivel
A shark on whiskey is mighty risky, but a shark on beer is a beer engineer. This message brought to you by Old Kentucky Shark of Kentucky Nightmare Whiskey Co.

Grudge
Member #958
February 2001
avatar

Quote:

Make a bootable mini-Linux distro on a cd, then put the game you want on the cd as well. This way, it could boot and run off the cd.

I'd rather have the mini pc boot on it's own (maybe using the LinuxBIOS project or something similar and then just letting it load up the x server and with a small interface used for loading the games from a cd ?

EDIT : Maybe boot the linux from an EPROM ?

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Evert
Member #794
November 2000
avatar

Quote:

Anybody have any ideas for a low spec machine. We want to run linux on it, with an x server. The allegro games it should be able to run should be a low res (320x240 ?)

Why do you want to run an X server? You should be fine in console mode, especially if there is a FreeBE/AF driver available (is that project still alive, btw?).
I've never seen X run in something as low as 320x240 (which isn't a standard VGA resolution, btw), but you could probably get away with 640x480 as well.

As for OS - Linux obviously rules, but maybe DOS would be a viable alternative for such a system as well?

This idea sounds cool:)
If something does come out of this, I'd like to have an Allegro Entertainment System.

Thomas Fjellstrom
Member #476
June 2000
avatar

If you have the choice, Use allegro on SVGALIB or fbcon as one should have accell for decent cards.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Grudge
Member #958
February 2001
avatar

Quote:

Why do you want to run an X server? You should be fine in console mode, especially if there is a FreeBE/AF driver available (is that project still alive, btw?).

Well to tell you the truth, I've only been able to run allegro games via X, but your right getting it to work directly from the console would be nice (using FreeBE/AF, SVGALIB or fbcon). Does allegro work with these 3 graphic libraries, anybody using it like this ?

[EDIT]
Just checked the docs, allegro uses it ;D
We could prob use alsa for the sound ?
[/EDIT]

Quote:

I've never seen X run in something as low as 320x240 (which isn't a standard VGA resolution, btw), but you could probably get away with 640x480 as well.

Basically we need to decide on a resolution and keep it like that. Any suggestions ?

Quote:

As for OS - Linux obviously rules, but maybe DOS would be a viable alternative for such a system as well?

hmm, the problem with dos is

1) I don't like it (i like Linux !)
2) Free ? Licence issues ?
3) Did I mention I like Linux ? ;)

Seriously, any good reasons not use Linux ?

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Kitty Cat
Member #2,815
October 2002
avatar

Linux will have processing overhead... not nearly as bad as windows, obviously, but DOS isn't multitasking, so your program will get the CPU's full attention. As for licensing issues, I dunno but I've heard about FreeDOS.. never looked into it though. and with DOS, you wouldn't really get all that much hardware acceleration.

But it really depends on what hardware you're gonna use. I like the idea of games being able to run in high or low resolution... being able to switch between 320x240(or 320x200?) and 640x480 has always sounded like a nice option, although depending on how powerful the system will be, it may not need 320x240. Most VESA compatible video cards I've toyed with can handle 320x240. Then there's also Mode-X and 640x400...

--
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham

Evert
Member #794
November 2000
avatar

Note that I said DOS - not MS-DOS ;) You could use FreeDOS, which is, well, free.
I agree, I like Linux - but I love DOS ;D
DOS is more lightweight than Linux and it can brobably be made to boot fast more easily. You also aren't going to need the extra power and versatility Linux has to offer.
You might also want to consider the following: DOS by itself uses almost no memory - Linux, especially if you run X, will use more. You'd want to cut the amount of memory used by things other than the game to a minimum.

Not that I'm opposed to using Linux in any way - just pointing out an alternative ;)

EDIT

Quote:

with DOS, you wouldn't really get all that much hardware acceleration.

This has nothing to do with DOS - it has to do with the video drivers. The aforementioned FreeBE/AF project has (had?) hardware accelerated drivers for DOS.

Quote:

Then there's also Mode-X and 640x400...

640x400 is not a standard SVGA mode (though Allegro has something called a DOS driver that can set it regardless of VESA, IIRC). 320x240 on the standard VGA required some tweaking similar to ModeX to set up, I think, but it may be standard with some VESA implementations nowadays. It'd still say to go for 640x480, though - it's probably supported best.

Grudge
Member #958
February 2001
avatar

Quote:

But it really depends on what hardware you're gonna use. I like the idea of games being able to run in high or low resolution... being able to switch between 320x240(or 320x200?) and 640x480 has always sounded like a nice option, although depending on how powerful the system will be, it may not need 320x240.

True, but I'm trying to build a system which is a cheap as possible and on which low-res games (such as Johan Peitz's HappyLand Adventures) will run nicely. Basically what I'm trying to say is that I'm not trying to build another ps2 or gamecube. I like to whole old games (low-res) idea, like those you found in the old game arcades...

Quote:

Note that I said DOS - not MS-DOS You could use FreeDOS, which is, well, free.
I agree, I like Linux - but I love DOS
DOS is more lightweight than Linux and it can brobably be made to boot fast more easily. You also aren't going to need the extra power and versatility Linux has to offer.

Sorry, misunderstood you there :-[

How does allegro & allegro games run on FreeDOS ?

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Johnny13
Member #805
October 2000
avatar

Quote:

I'm not trying to build another ps2 or gamecube. I like to whole old games(low-res)idea

then Why reinvent the GBA?;):P

Alg3D Praise my Games!!<code>#define SPAMMER (post>=666&&postperday>=6)</code><Mr.spellcaster>What post? <Mr.spellcaster>A useful post by me.

Thomas Fjellstrom
Member #476
June 2000
avatar

I like the idea... Though linux appeals to me muchly more than DOS :). YOu need to make sure that all the hardware is supported in that DOS system.. In linux, plugin a SBLive or Audigy (or a Turtle Beach card) and it'll work. just something to think about :)

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Grudge
Member #958
February 2001
avatar

Quote:

In linux, plugin a SBLive or Audigy (or a Turtle Beach card) and it'll work. just something to think about ...

Good Point ...

Personally I'm doing this, because I think it would be fun to create something like this, playing al those cool Allegro games on the tv, and because the machine will have certain limitations it could be interesting to see what games could be developed for it...

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

Trezker
Member #1,739
December 2001
avatar

I've fastread through the thread. Didn't read it carefully, just tried to see what's been discussed, now I speak my heart.

First, I want it to have a nice name. (This might already be decided, I not know)
My suggestion is Alix, a TV console using allegro on a *nix OS.

Graphics, 640*480*b, don't know what depth, but I'd like to avoid 8bit.

I must say this project is something I like. If this thing can be ordered for a fair price sometime in the future, I'd like to buy one.

There should be a howto on making an Alix "cartridge - or whatever it loads". I hope many games will be ported to it, and I'd like to see my Miffonoid on it if I ever finish it, it'd be perfect.

I thought I had more to say, but it seems to have escaped me. I'll be back if I have more to say.

May the hardware be with you.

Grudge
Member #958
February 2001
avatar

I'm thinking of getting a very small linux up and running, with just enough to use my hardware (graphics and sound). I'll also try to get the allegro running (using SVGALIB or fbcon).

I'll keep you guys informed of how it's going. Please keep the ideas coming...

Quote:

My suggestion is Alix, a TV console using allegro on a *nix OS.

I like it ! Any other suggestions ?

--
Tom Van den Bon - Pixelate Editor
--
[ Pixelate ] - "...thats not a bug, it's a feature..."

DanTheKat
Member #1,990
March 2002
avatar

Quote:

I like to whole old games (low-res) idea, like those you found in the old game arcades...

Then MAKE SURE you have that awful 320x240 (or 320x200) and 8bit color support. If you guys can write 20 line games, and write whole games in just a few hours, then surely you can write a game with a measely few graphics adjustments and some palette adjustments.

---
"Even the best spellcaster can't transmute bread into bread." - spellcaster

Trezker
Member #1,739
December 2001
avatar

Maybe you could make it able to run a few different modes. Like 320*200 or 640*480 in 8bit and another colordepth, this ofcourse selected by the game.

So the programmer can choose to do a game with horrible gfx, or something soft and cuddly.

spellcaster
Member #1,493
September 2001
avatar

Hm, Have done this already :)
I used a Siemens Multitainer (celeron 1Ghz, 256MB, 40gig Hd) as a base, connected a multijoy psx joypad adaptor so I can play with 4 pads.
Used a light version of windows 98 as OS (takes around 5secs to boot) and coded some small menus (gaming, emulators, dvd ripping, dvd / vcd display)
I'm considering to buy a geforce4mx PCI (the board only has PCI, no AGP) so I can play some more up-to-date games as well.

All emulators run nicely (mame, zsnes, epsx, c64s) and with some small utils everything works really smoothly (I wrote a small util to change the output adjustment after a resolution change, for example).

You can build a box like this for around 300€, maybe less.

--
There are no stupid questions, but there are a lot of inquisitive idiots.



Go to: