Jump to content

  • Log In with Google      Sign In   
  • Create Account


Open Source Console


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
17 replies to this topic

#1 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 12:41 PM

Ok, this thread is inspired by this thread, the OP there is looking for developers to code for what sounds like a Pentium 300mhz based console with no 3D rendering support, there seems to be a lot of unwanted "recomendations" there, so I thought instead of adding to them, I rather start a new thread. Not long ago I had the idea of making bootable knoppix disks as medium of distribution for games, the disk itself would contain installers for Windows, Linux and the option to run the game directly from the disk on Linux, in theory, this could provide the basis for a new console, which would be sort of a dumb PC. Now, this other thread has inspired me, and I would like to hear your sugestions for building an OpenSource console. Marketability is not much of a concern here, think of this as a console by developers for developers, though, lets try to keep it cheap [smile]. Here are some initial specs (just throwing what first comes to mind): MicroATX motherboard (one with integrated sound and network card), AMD athlon 1GHz processor, Geforce 2 or 3 video card, with TV out, 128MB ram.

Sponsor:

#2 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 12:54 PM

Heres a Mobo for the project.

Can you load an OS from an USB key drive? it would be nice to have some interface like the one on the PS2 when you're not loading a disk directly, a firmware of sorts.


#3 samuraicrow   Members   -  Reputation: 325

Like
0Likes
Like

Posted 19 September 2005 - 01:06 PM

In order to boot from a USB key the drivers for it would have to be in the BIOS.

As for booting from knoppix on a CD-ROM I know that the Amiga Forever emulator has a Knoppix-based live CD that boots AmigaOS through a version of E-UAE so I suppose it is possible.

#4 Roboguy   Members   -  Reputation: 794

Like
0Likes
Like

Posted 19 September 2005 - 01:08 PM

Including the OS on the CD or USB key drive would reduce the maximum size of the game.

#5 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 01:22 PM

Quote:
Original post by Roboguy
Including the OS on the CD or USB key drive would reduce the maximum size of the game.


Yes, which is why I am now thinking about a FlashROM PCI board, which contains the OS, basic functionality such as playing DVDs, and the mechanism that launches the game from the IDE CD/DVD if present.

I have some electronic engineer friends at work, I'll ask them tomorrow about how feasible it would be, if posible, in theory, all it would take to turn a PC into this Open Source console would be to build the FlashROM card, or buy it already built.

Check out my OpenGL GUI Library at github.


#6 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 01:24 PM

Quote:
Original post by samuraicrow
In order to boot from a USB key the drivers for it would have to be in the BIOS.

As for booting from knoppix on a CD-ROM I know that the Amiga Forever emulator has a Knoppix-based live CD that boots AmigaOS through a version of E-UAE so I suppose it is possible.


Is it possible to modify the BIOS? the FlashROM card I talked about would have to use a similar mechanism such as that of booting off a network card (or so I would imagine).

Check out my OpenGL GUI Library at github.


#7 Drew_Benton   Crossbones+   -  Reputation: 1712

Like
0Likes
Like

Posted 19 September 2005 - 01:32 PM

Quote:
Original post by Roboguy
Including the OS on the CD or USB key drive would reduce the maximum size of the game.


A ~160MB would suffice to being able to successfully boot up a bare windows installation. If you were to use a large flash drive (1GB+), then you'd not need to really worry about too much of a size restriction. Even if you had a ~512MB flash drive, you'd have about 256MB worth of free space for a game to use. Of course the main problem with that whole idea is speed. Botting up XP on a USB drive is extremely slow on 1.1 (roughly ~10 minutes). If you could guarntee a USB 2.0 interface, then you'd not need to worry about that.

If you have no idea of what the heck I'm talking about, look here [smile] Me and a friend just did it this evening and it worked great. Although it does not work on AMD computers, just intel, so you'd have to take that into consideration too. I'd still need to experiment some more with the whole idea, and I'm going to try putting a SDL game on the USB drive and see how it all works in the end.

"But I, being poor, have only my dreams. I have spread my dreams under your feet; tread softly, because you tread on my dreams." - William Butler Yeats

#8 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 01:41 PM

Quote:
Original post by Drew_Benton

A ~160MB would suffice to being able to successfully boot up a bare windows installation. If you were to use a large flash drive (1GB+), then you'd not need to really worry about too much of a size restriction. Even if you had a ~512MB flash drive, you'd have about 256MB worth of free space for a game to use. Of course the main problem with that whole idea is speed. Botting up XP on a USB drive is extremely slow on 1.1 (roughly ~10 minutes). If you could guarntee a USB 2.0 interface, then you'd not need to worry about that.


Well, it would use an OpenSource Kernel, Linux comes to mind first because of NVidia's strong drivers for it, but FreeBSD could also be used.

Also, you could have the option to install a full OS in its HD, but bare bones, all it should have is basic CD/DVD playing capabilities, think like a PS2 or PSP, so the OS shouldn't take much time to load. I like the FlashROM idea because it is much more "write only" than the USB key one.

Check out my OpenGL GUI Library at github.


#9 Ravyne   Crossbones+   -  Reputation: 5731

Like
0Likes
Like

Posted 19 September 2005 - 02:12 PM

I worked with some people on a similar idea for awhile a couple years or so back. Its really easy to do all the 'fun' stuff, coming up with a name, specs, case design etc. and think you're part way there. Even limiting the discussion to the 'fun' stuff, specs are a headache. To source parts that are available and cheap, but yet don't suck is near impossible. It gets expensive even for a fairly modest setup unless you have the capacity to manufacture a custom system (where everything is integrated in one mobo.) We struggled to keep cost at around 200, but that was ignoring case and manufacturing.

Moving on to the less fun parts, firstly, you need to have a firmware/os guy, for say, a linux based system, AT LEAST someone who can build a small but game-worthy version of linux, but prefurably someone who has done OS work on embedded systems. Even thats just the tip of the iceburg as far as the more difficult work is concerned. I'm not saying that its impossible, or even that its something not worth dreaming about-- It would be F'ing cool, but its just so much trouble to go through. If you're not familiar with the indreama story, there was a company, a real company, that wanted to bring out a linux-based console around the same time as Xbox, with roughly the same specs. They pulled out dispite having hardware in the final stages, really intelligent, experienced people, and a sizable budget. Even if you're not trying to compete with the big boys, this is only a niche market of about 12 people (actuall sales, not people who tell you they'd buy one.)

So basically you have to ask yourself this-- "Is it worth it?" Ignoring the wide-eyed, wouldn't-it-be-cool factor, wouldn't your time be better off in an existing console dev community such as the GBA or dreamcast? Both systems are EXTREAMELY easy to get into and require no modded hardware. Dev tools and libs are freely available, and although still a niche market, its much larger than 12 people. On top of that, the dreamcast and all the tools/hardware you need can be had for like 70 bucks, and is a fairly powerful system. It has a pretty capable graphics chip (certainly better than a Geforce 2) and the SH4 CPU has some nice features for 3D such as a built in Mat4x4 * Vec4 operation. It may have built in dot and cross too, I forget. Theres even a company that has released 2 DC homebrew games commercially, called Goat Games. Also, 90% of dreamcast units will play a CD-R with no issues (Goat Games uses standard CD-Rs) so when you have a finished product, its entirely possible that there is an existing, though small, market for it.

Sorry if this is all a bit rambly, its just too much to organize more in the time I have.


EDIT-- All that said a supply of these would be nice: Motherboard
Its a motherboard with integrated Celeron-M CPU at 1ghz, paired with an Intel 845 chipset with integrated graphics which are passible, but pairing this with a PCI radeon 9100 or similar nvidia card could be pretty nice. From there you'd just need a case, psu, ram and drive(s)

[Edited by - Ravyne on September 19, 2005 8:12:17 PM]

#10 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 19 September 2005 - 02:58 PM

Quote:
Original post by Ravyne
[Long Post] [smile]


Thank you for your input Ravyne, appreciate it, [smile] like I said, this is not really for money (though I can see where money could be made if this takes off), it's not even that serious, I have a bunch of spare parts around which I could use to build a prototype, my idea is to modify the PC as little as possible to make it behave like a console, then post the directions to build one as a hobby project (like those home made arcade machines build out of an old pc running MAME).

The development process would be the same as developing for the PC, just that the game would have to run off the CD, so ports become almost trivial.

Once the FlashROM card design is finished, then we can start standarising the hardware, with standarised hardware, then we can get into production lines.

In the meantime though, lets just try and make spare PC parts behave as a console [smile].

Check out my OpenGL GUI Library at github.


#11 Oluseyi   Staff Emeritus   -  Reputation: 1670

Like
0Likes
Like

Posted 19 September 2005 - 03:02 PM

You know, the Dreamcast and GP32 are the closest things to "open source consoles" currently available. The GBA also has an active and highly productive homebrew community, with products that actually run on retail hardware. Why not adopt one of those.


Open source doesn't lend itself well to tangible objects. Even if your specs are completely open, your firmware licensed under GPL and freely available, and your custom kernel, libraries and utilities ready to download, you lose the ease of adoption factor because people now have to lay out a not-insignificant amount of cash to run your OS. Not to discourage at all; I just think that there's a mix-up in terms/philosophies here.

Open source design isn't much use without free fabrication facilities. This is why the most important open source utility/application ever written in the GNU Compiler Collection.


Quote:
Original post by Kwizatz
...my idea is to modify the PC as little as possible to make it behave like a console, then post the directions to build one as a hobby project (like those home made arcade machines build out of an old pc running MAME).

Maybe that's the real solution: build your "console" around an emulator, which solves the problems of hardware variance by emulating a consistent environment. Or, if you prefer, you can call it a Hardware Abstraction Layer. [smile]

#12 Ravyne   Crossbones+   -  Reputation: 5731

Like
0Likes
Like

Posted 19 September 2005 - 08:00 PM

Quote:
Original post by Oluseyi
Maybe that's the real solution: build your "console" around an emulator, which solves the problems of hardware variance by emulating a consistent environment. Or, if you prefer, you can call it a Hardware Abstraction Layer. [smile]


You know, I've actually got a project like that kicking around in my head, I wrote a simulator for a NES/SNES/GENESIS inspired GPU for a job application. All it'd need is an equally retro CPU simulator and a few other bits... Problem is, I got the job, so my time is limited ;)

#13 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 20 September 2005 - 05:14 AM

Ok, I asked about the PCI-Flash card, they told me is technically possible but the ATA-to-Flash interface would have to be created, then I entered PCI flash card on Google and came up with this:

Flash Memory PCI Add-In Card for Embedded Systems, seems like Intel saved us a lot of work [smile].


#14 benryves   GDNet+   -  Reputation: 1988

Like
0Likes
Like

Posted 20 September 2005 - 06:47 AM

I built myself a "DOS console" a while back. 100MHz Pentium 1, 32MB RAM, some Crystal 100% SB16 compatible sound card, 32X CDROM drive and floppy drive.
I formatted a floppy disk under DOS 6.22 with the /s option, added a bunch of system drivers (CD ROM extensions, mouse driver) and used RAMDRIVE.SYS to create a 20MB RAM drive.
I knocked together a simple DOS application in QB that would try and open a file to write on the CDROM drive. If that failed (no disk) it would loop around until it broke out with a different error code (to the extent that the disk was read-only). At this point it went through a list of files referenced in a text file on the floppy, seeing if they existed on the CD (a crude way to work out which game you'd put in). It would then, if found, look up which file to run on the CD in the same text file and shell it. When the game was quit it would eject the CDROM and prompt (if any had been created) to zip up the contents of the RAM drive and copy to a floppy (there's my nifty memory card system!) Before running the game it would let you unzip files from your "memory-card" floppy to the RAM drive too.
Unfortunately, there was a lot of disk swapping between the system disk and the memory disk, booting off a floppy was horribly slow and it wasn't very elegant to have to sit through an installer/config for some games. It ran DOOM, DOOM2, Blood, Quake and Tomb Raider fine, though!
Not entirely related, but that's my experience. [smile]
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]

#15 Kwizatz   GDNet+   -  Reputation: 1169

Like
0Likes
Like

Posted 20 September 2005 - 07:05 AM

I think I found the perfect solution:
The IDE Flash Disk, this could hold the modified Linux kernel and basic functionality apps, and of course the CD executable launcher.

It would work not unlike benryves DOS box. [smile]

#16 Ravyne   Crossbones+   -  Reputation: 5731

Like
0Likes
Like

Posted 20 September 2005 - 07:48 AM

IDE compact flash addapters would also work. They'd probably be a fair bit cheaper than thouse specialized IDE flash disks.

Is there a problem booting from a CD? Discs would/could be customized to include a small OS, and it wouldn't add too greatly to the size, ~50MB at most. Have the OS create a ram disk and load itself there... you could probaly even use an image of the OS which would be faster to load and compressable to save disc space.

If you do go through all the trouble of having a flash disk, you may as well use a hard drive and have the unit double as a media player (possibly with PVR capabilities.)

#17 Extrarius   Members   -  Reputation: 1412

Like
0Likes
Like

Posted 20 September 2005 - 08:36 AM

If you're going to be hackish, you might as well go all the way: Why not use a decent compression algorithm (like PAQ) and compress as much as possible (including video drivers, etc, so only the bare essentials of the OS are uncompressed). Sure, it'll take a few minutes to load up, but you could then probably skip the CD drive and run off a $10 flash drive.

#18 supercoder74   Members   -  Reputation: 154

Like
0Likes
Like

Posted 23 September 2005 - 04:43 PM

my idea is to either run a small os on it(only a couple of commands;eject,run game/program/whatever, and other neccesities(leave the actual commands to the programs)). My other idea is put the os'es on a live CD with HD write capabilities.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS