Running on real hardware
Posted: Sat Dec 07, 2013 4:31 am
I had a chance to run my OS (a boot loader actually) on several real computers. I was surprised to see how many problems I got. None of them was a real bug in the strict sense but caused serious problems. Just to name a few that I recently fixed:
- One computer disabled interrupts when using INT 13h Extensions. I was not expecting this.
- One computer always returned zero in reserved mask size and position when getting a VBE mode information structure although there were such bits.
- At first I thought it would be enough to support just non-palette VBE video modes but on older real computers this would have been a problem. I found that I get much better resolutions if I support palette modes also. One computer I tested only had reasonable resolutions if using 8-bit colors.
I think making an OS and testing it only on an emulator is very far from having a real OS. I dare to say "emulator OSs" would have a high probability of failing if tested massively (e.g. 1000 computers) on real hardware. Why am I complaining? I do not know. Just keep testing on different computers as much as you can if you want to have something that really works.
- One computer disabled interrupts when using INT 13h Extensions. I was not expecting this.
- One computer always returned zero in reserved mask size and position when getting a VBE mode information structure although there were such bits.
- At first I thought it would be enough to support just non-palette VBE video modes but on older real computers this would have been a problem. I found that I get much better resolutions if I support palette modes also. One computer I tested only had reasonable resolutions if using 8-bit colors.
I think making an OS and testing it only on an emulator is very far from having a real OS. I dare to say "emulator OSs" would have a high probability of failing if tested massively (e.g. 1000 computers) on real hardware. Why am I complaining? I do not know. Just keep testing on different computers as much as you can if you want to have something that really works.