BIOS Programming

Started by
10 comments, last by Jedimace 15 years, 10 months ago
Ok, I had this idea. C++ and OpenGL and DirectX 10 and all that stuff are hard, but I think I can take a little more. BIOS is what they use to make DirectX 10, C++ and OpenGL, right? Well, those are all hard, why are they? My idea is that I can use BIOS to create a super easy, but powerful programming language in BIOS with 2D and 3D graphics, input with multiple systems like gamepads, gamepads, keyboards, and mice, 3D and 2D sound, file loading, networking with mysql database access, and all that good stuff. But it would be super easy, like Python, and as powerful as C++, OpenGL, and DirectX 10. Is this a good idea? It would make game programming alot easier, and it would be super powerful. I think i'd call it GD++. Game Development++. Lol.
-Jedimace1My company siteEmber StudiosAlmost Done
Advertisement
If it is possible, can I have some tutorials to get started?
-Jedimace1My company siteEmber StudiosAlmost Done
Quote:Original post by Jedimace
BIOS is what they use to make DirectX 10, C++ and OpenGL, right? Well, those are all hard, why are they?


No.

Quote:Original post by Jedimace
Is this a good idea?


No. Its one of the worst, most nonsensical ideas I have ever heard in my life.
I'm struggling to understand, but I beleive you've got it all wrong. The BIOS is most certainly not used to create DX10, C++ or OpenGL.
Also there is a reason these tools are harder to learn is because they are lower level tools. Generally the lower you go the more complex the tool is, however with that you gain a great deal of flexibility (and speed). If you were to design a 'super easy' language which was as powerful as C++ you'd rapidly run into the tradeoff between speed/flexibility vs ease of use.
In short, its not going to happen but writing a simple compiler can be a very rewarding experience.
OK, well what is it made with then? I just want enough ease of use. I know what I want with the balance of that.
-Jedimace1My company siteEmber StudiosAlmost Done
Quote:Ok, I had this idea. C++ and OpenGL and DirectX 10 and all that stuff are hard, but I think I can take a little more. BIOS is what they use to make DirectX 10, C++ and OpenGL, right?

BIOS? As in, Basic Input/Output System, which gets your computer started?

No, nothing is programmed "in BIOS". The BIOS has nothing to do with programming; it is only used to initialize your hardware before the operating system takes over.
Quote:Well, those are all hard, why are they?

Because there are certain realities that need to be taken into consideration when making a language. You can't just conjure up stuff out of a hat; creating a good programming language with an efficient compiler takes a lot of work and knowledge.
Quote:My idea is that I can use BIOS to create a super easy, but powerful programming language in BIOS with 2D and 3D graphics, input with multiple systems like gamepads, gamepads, keyboards, and mice, 3D and 2D sound, file loading, networking with mysql database access, and all that good stuff. But it would be super easy, like Python, and as powerful as C++, OpenGL, and DirectX 10. Is this a good idea? It would make game programming alot easier, and it would be super powerful. I think i'd call it GD++. Game Development++. Lol.

I think you need to stick to higher level languages. Some of the most talented programmers and computer scientists in the world have produced the languages we have today; if anyone could just throw something better together, it would have been done a long time ago. The reality is that low-level programming is hard, and it requires intimate knowledge of how the hardware works. If you want to go down that route, you should first study the hardware in-depth.
-------------Please rate this post if it was useful.
Quote:Original post by Jedimace
OK, well what is it made with then? I just want enough ease of use. I know what I want with the balance of that.


Made with? The "BIOS" refers to firmware that is on your motherboard. That firmware was most likely coded with C, C++ and possibly some assembly. The compiled code is then stored an executed from a ROM.

The BIOS is a rudimentary operating system. If you want "ease of use", use a fully fledged operating system eg. Windows.
Not even to talk about the BIOS part (That opengl and directx have nothing to do with) . But do you know what it takes to create a programming language ?. What approach are you going to take bottom up, top-down parsing ?. Do you know what BNF, LL(k), LR, LALR is ?. Etc etc etc.
Quote:Original post by Jedimace
OK, well what is it made with then? I just want enough ease of use. I know what I want with the balance of that.

You can write a compiler in any language. The original Assembly compilers were written in machine code; after that, most compilers were written in Assembly. Nowadays I'd guess C is the most common language.

But writing a compiler that rivals even the worst the market has to offer today is hard. Expect to be able to do it after several years of practice. It would be a much better idea to wait until you have a better grasp of programming and computers in general. It will save you a lot of headaches.
-------------Please rate this post if it was useful.
All my games interface directly with my graphics card, cutting Windows out of the loop to get 1337 performancing. I find it better than using teh bloatxzor Windo$e, it slows everything down too much. I coded it all myself in hex, cause assembler is for n00bzorz, and I get better platform independance this way... I have optimated my render code so bithaxxored that it mirrors in my cache so i get teh millionzor fps!!!!!

nah, mate, if you want your games to be played on anything other than your PC you need to use an API which has widespread support. Plus, ignoring the bizarre and misled idea of programming in BIOS, assuming you instead wrote, say, GDOS (GameDevOperatingSystem), an uberleet OS purely for writing games in an intuitive and fast way that was indeed truly awesome, then you would have to write motherboard drivers, graphics card drivers, CPU drivers, soundcard drivers yourself for EVERY SINGLE PIECE of hardware you wanted to support. And that isn;t even mentioning the writing of the OS itself...

If you don't like current API's, then write down the interfaces you would like your API to use. Use this as the external interface for a .dll, or the *nix equivalent, and then write a suitable .dll which implements that functionality using directX or openGL - this is actually an achievable goal for every hobbyist, and having the consistent interface means that you can then use your new interface in every project you do, and update your .dll to move with the times without breaking your previous projects.

Plus,
Quote:it would be super easy, like Python, and as powerful as C++, OpenGL, and DirectX 10
is a bad idea. Chose a language that you like - seemingly python. I am aware that you can write bindings for python, why not write some custom bindings for your .dll and use python for all your game coding from then on. But, easy AND powerful is not possible. With great power comes great responsibility (just because I can use a raw pointer to fiddle around with the stack doesn't mean that I should...)

This topic is closed to new replies.

Advertisement