Sign in to follow this  
Mr T 87

feasability of a arcade machine.. no OS

Recommended Posts

Just a passing thought. Lets say I make a video game and I aimed it at a specific hardware setup. Would it be possible to play the game without an OS in the background, like all the good ol' arcade machines. Just switch it on and it loads the game. Is that possible?

Share this post


Link to post
Share on other sites
yes....but have fun lol.
you would have to build your own base OS of sorts. handling loading up the game when the PC boots, handling memory allocations, ect....

i made my own operating system once before.

it was like DOS only much much worse. just plain old command line stuff and i supported like 5 commands lol...but it was a learning experience.

Share this post


Link to post
Share on other sites
Yes, that makes sense. Or maybe if the program was compiled for DOS and run on a machine that booted to dos and had a line like... load game in the autoexec.bat file. Would that be a better solution? easier? Or more problematic?

I know I said No OS but still.. that would appear pretty much straight after the motherboard info screen stuff.

Share this post


Link to post
Share on other sites
that could work too. although i am wondering if you would have to build some kind of driver system into your game to handle different video cards. but if you target a specific hardware then you can just program specifically for that and not worry about it.

any specific reason you are wanting to do this?

couldnt you just make it a program that runs when windows is started ? you could easily replace the windows loading screen with a loading screen (bitmap) of your own to mask the windows starting up. and there are ways to cut out alot of the stuff windows loads up and keep it from going to its normal gui interface and instead go to your game.exe

of course this would take longer to load then the DOS based one or the "your own OS" methods, but would be the easiest to implement imo.

Share this post


Link to post
Share on other sites
Quote:
Original post by Mr T 87
Yes, that makes sense. Or maybe if the program was compiled for DOS and run on a machine that booted to dos and had a line like... load game in the autoexec.bat file. Would that be a better solution? easier? Or more problematic?

Have fun writing a bank-switched video memory mode 32-bit graphics subsystem! You know, while the rest of us enjoy linear addressing. [smile]

(You could use Linux and one of those framebuffer extensions instead, might make things a bit easier.)

Share this post


Link to post
Share on other sites
I think it would be feasible but it would probably take ~2 times longer because not only do you have to develop a stable game, but you also have to develop a stable "kernel" of sorts. Not to mention writing a VGA graphics driver, sound driver, keyboard driver, hard-drive driver...

Share this post


Link to post
Share on other sites
Quote:

any specific reason you are wanting to do this?


It's for a gift for a friend. If I can get the kernel bit sorted then the rest should be easy, I'm gonna build up an arcade style machine around it, the game is already done, i'm just modding it.

Thanks for all the replies, i'm gonna be setting up a few environments in virtual pc to help me decide what would be best.

Share this post


Link to post
Share on other sites
Quote:
Original post by Mr T 87
It's for a gift for a friend. If I can get the kernel bit sorted then the rest should be easy, I'm gonna build up an arcade style machine around it, the game is already done, i'm just modding it.

There's a better way.

Most arcade cabinet projects rely on the fact that the arcade games being emulated - for those who want arcade perfect emulations; sourcing ROMs is up to you - don't need the most powerful processor or hardware-accelerated graphics. Therefore, they purchase compact mini-ITX form factor motherboards and build around that. They install Linux or Windows on it, then configure them to automatically run MAME. Some of them also start a management daemon/service, so they can connect to and administer the cabinet over the network.

Unless your needs are extremely specialized, this is the most cost-effective way. If you're writing a new game, you can just run that natively on whatever OS you place on your system, or, if you're targeting a specific arcade board, you can run your resulting image under MAME.

Be sure to let us know how it goes.

Share this post


Link to post
Share on other sites
If the game uses 3D, then you're in for some trouble, though, because the programming specs for most 3D hardware aren't widely available. AMD is threatening to unleash their specs sometime in the future, but last I checked, you couldn't actually get them all yet.

Thus, you'd have to use some embedded OS that already has 3D graphics drivers. Either Embedded NT with Windows drivers, or linux with the vendor-specific GL implementation would work fine.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by Mr T 87
It's for a gift for a friend. If I can get the kernel bit sorted then the rest should be easy, I'm gonna build up an arcade style machine around it, the game is already done, i'm just modding it.

There's a better way.

Most arcade cabinet projects rely on the fact that the arcade games being emulated - for those who want arcade perfect emulations; sourcing ROMs is up to you - don't need the most powerful processor or hardware-accelerated graphics. Therefore, they purchase compact mini-ITX form factor motherboards and build around that. They install Linux or Windows on it, then configure them to automatically run MAME. Some of them also start a management daemon/service, so they can connect to and administer the cabinet over the network.

Unless your needs are extremely specialized, this is the most cost-effective way. If you're writing a new game, you can just run that natively on whatever OS you place on your system, or, if you're targeting a specific arcade board, you can run your resulting image under MAME.

Be sure to let us know how it goes.


Yes, this is the route i've decided to go. I have my hardware platform without a case at the moment, its just layed on some stools. I've just fdisk'd it and i've decided that i'll be installing linux on it tomorrow, Ubuntu to be exact due to it having quite good driver support and i've used it before. I will have to get the game to run on startup and remove modules that i won't be needing so i can save on memory as the spec of the PC isn't as ideal as i'd like.

Then theirs the administration side of things since I am planning on developing my game i'll need a way to access the files so i can update them.

I'll keep you updated as i go. Keep throwing your ideas at me :)

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by Mr T 87
Yes, that makes sense. Or maybe if the program was compiled for DOS and run on a machine that booted to dos and had a line like... load game in the autoexec.bat file. Would that be a better solution? easier? Or more problematic?

Have fun writing a bank-switched video memory mode 32-bit graphics subsystem! You know, while the rest of us enjoy linear addressing. [smile]

(You could use Linux and one of those framebuffer extensions instead, might make things a bit easier.)
Can't you just use VESA 2.0? I remember in the good old DOS C++ days you could get linear addressing on the whole framebuffer.

Share this post


Link to post
Share on other sites
Sign in to follow this