Sign in to follow this  

BIOS Programming

This topic is 3492 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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...)

Share this post


Link to post
Share on other sites
Quote:
Original post by Hnefi
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.

Not *entirely* true. The first part of the BIOS is in microcode (firmware), but the second part (Which usually is also the Bios Setup program) is usually in assembly.

Quote:
Well, those are all hard, why are they?

Its only hard if you have never done it before. Other then that, its knowing where to look (Looking through hundreds of pages worth of hardware specs...ugh.)

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.

The BIOS does not impliment a programming language, the compiler or toolchain that you use does.

OpenGL and DirectX are completely different then the BIOS. They are implemented in the video cards, and interfaces to the OS by its device driver. In order to use it at BIOS level, you will need to program your own kernel level driver. Before that though, you need to find where its located at within the system.

Share this post


Link to post
Share on other sites

This topic is 3492 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this