🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

minimalist game setup

Started by
24 comments, last by Calin 4 years, 4 months ago

Bios drivers will cover all my game needs. It has input, I don`t need sound and it can display stuff on screen. Is that possible?

My project`s facebook page is “DreamLand Page”

Advertisement

It is perfectly possible. Just run your game right after the bootloader.

You might want to distribute your game for virtual machines. I would not run the code of other people on my unprotected bare metal.

So, people would play your game inside a virtual machine. No problem.

BIOS is safe, it will not break the computer of the player. If you use the drivers of BIOS, no problems! But you can not prove to people your good intentions. Some people could be afraid you might want to install a virus on their machines. Be prepared for that reaction of ppl, and consider offering your game as a virtual disk image to be played inside a virtual machine.

Anyways, you need a virtual machine to develop for the bare metal. So, when the game works on your PC, just take the virtual disk(it is just a file with some extension like .vhd) you will be using anyways and give it to people.

NikiTo said:
You might want to distribute your game for virtual machines

So I can develop my game for VM without ever needing to boot it in a real environment?

My project`s facebook page is “DreamLand Page”

This is the way you develop for the bare metal.

It would take forever if you stop and start the PC every time you want to test something. And AFAIK restarting the PC too much will damage it. It would break before you end programming the game.

For the bare metal you have not much debugging tools. There was Bosh to debug the bare metal. Not sure it is still exist.

Ok then I`m going this path. You are aware that you just opened an interdimensional gateway to a new world

My project`s facebook page is “DreamLand Page”

It's not that hard to boot into real mode and do some basic stuff with BIOS interrupts. However, you will not have access to extended memory, hires graphics or even files. And indeed, testing and debugging would be a nightmare. Forget about protected mode.

So you will basically end up with a 16-bit VGA game that will not run under any OS.

Since every modern computer has an OS at its core, may I ask you why you are so desperate to circumvent it? As suggested, you may find more satisfaction in older 8-bit platforms where you do have actual control over the hardware.

Have fun exploring the limits!

A brief comparison:

C++:
goto somewhere;
code here…
somewhere:
code here…

With ASM you can jump(goto) into the middle of the bytecode of a single instruction. You can split a single instruction in two. You can jump inside that instruction and this way you change the instruction.

So many opportunities…..

C# has reflection and self modifying capabilities too, but it is super lame compared to ASM. I once programmed 20K lines of ASM without using the RAM. I was emulating a thing and the emulated code in ASM resulted to be faster than the original code being emulated. Because the original code was using the RAM a lot, but the emulator was not using the RAM at all. Only working inside the CPU.

So many opportunities with ASM… These old times i miss so much…

Working with the bare metal, you can use the cache as RAM. Although i never did it myself. I used the registers ar RAM and it was enough for me. So you already have TWO techniques to program without RAM…. welcome to ASM!!!

Prototype said:
Forget about protected mode.

He can use BIOS drivers from 64 bit mode too. I did it.
His 64 bit code reads the code placed at the address of the BIOS Int and executes what it says. He can read the BIOS driver and compile it to 64 bits. It will work.

Prototype said:
So you will basically end up with a 16-bit VGA game

https://en.wikipedia.org/wiki/VESA_BIOS_Extensions
Any more or less modern BIOS should support 24 bit colors.
Even stereo glasses… if supported…


Yes, debugging will be hard af. But one gets used with the time.

Which VM do I pick? VirtualBox is free, are there other good free reasonable solutions?

My project`s facebook page is “DreamLand Page”

Vm Workstation Player another option.

https://www.vmware.com/uk/products/workstation-player/workstation-player-evaluation.html

Calin said:
Ok then I`m going this path. You are aware that you just opened an interdimensional gateway to a new world

Another good thing about doing it on a VM/Emulator is that you can choose the hardware setup which best suits your needs.

To answer your question on the previous thread. Yes I have experience writing several games in assembly but on more minimal hardware than a modern PC. They had a minimal rom based OS which passed FULL control to the user program, but still had functions that could be called to do mundane File IO and sound operations. So not dissimilar to the BIOS setup you are looking at.

This topic is closed to new replies.

Advertisement