All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
; This is the bootloader for POS-64 for BIOS Systems
; (C) Alldesplay Corporation 2013 under the 2-clause BSD License
; For UEFI see /boot/efi/efiboot.c
; So in this whole big world we only have 2 Firmwares BIOS and EFI
; And both of 'em are just DUMB.
; The first is this stupid,old,useless,garbage BIOS which only knows what's 16-bit and only
; runs that small 512-byte Code
; and then is this EFI which is so damn worse that you need a HUGE EFI-SDK to write
; a "Hello World" bootloader, I had to cross my internet plans to download the EFI-SDK
Really both of the firmwares have disappointed me a LOT.
I had to overwrite my mood-dependent label names with another ones. When there are thousands of labels in one source file, that have not to be repeated, names are meaningless often, but at least now they are not in bad language, not the characters names from the series I watch, neither are they in five languages. I just had to remove some thinking comments too. That way haters will criticize less my code if sometime I publish it.
I program in C, not Assembly, as you can see I tell the programmer to look for boot/efi/efiboot.c
So for that you need a HUGE EFI SDK, I crossed my internet plan for that.
I was working on programming some custom hardware with some LED's used for determining position. In the asm code I wrote at the point to disable the LED's
sid123 wrote:I program in C, not Assembly, as you can see I tell the programmer to look for boot/efi/efiboot.c
So for that you need a HUGE EFI SDK, I crossed my internet plan for that.
The SDK is provided by the firmware implementation; you do not need to implement it (or download anything for the matter to use it) -- supporting it is far easier then that of the BIOS firmware particularly with that of C boot loaders. By the way, EFI and BIOS firmware are not the only types of firmware; e.g. the Open Firmware standard.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
Most of my comments for non-obvious or hard stuff looks like "//well this wasn't at all fun", "//it's a kludge, i know" or "//wow, move on. never touch this again" and perhaps a brief explanation if i deem it really necessary.
other then that my comments can also sometimes be apologies for the guy that's coming after me, like "// sorry i had no choice" , "// my bad, run out of time" or perhaps blaming the guy before me like "// i was forced doing it this way, becasue of X"
WARNING : THIS CODE IS VERY WELL UNDOCUMENTED!
READING THROUGH IT MAY CAUSE HEADACHE,BLOOD PRESSURE,ANXIETY,ANGER
READ AT YOUR OWN RISK!
It isn't funny, but it's cool.
When you say, "I wrote a program that crashed Windows," people just stare at you blankly and say, "Hey, I got those with the system, for free." - Linus Torvalds
64 bit Kernel in early development http://github.com/nerdguy12/core64
Its actually also funny to look at the git commit messages. I know I have tons of weird ones(some showing my lack of programming knowledge). I mean after awhile people get tired and type random stuff like its a blog.
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.
if(!(_statB & 0x04)){
// RTC is using BCD values.... convert them to be sane
_second = byteBCDToSanity(_second);
_minute = byteBCDToSanity(_minute);
_hour = byteBCDToSanity(_hour);
_day = byteBCDToSanity(_day);
_month = byteBCDToSanity(_month);
_year = byteBCDToSanity(_year);
_century = byteBCDToSanity(_century);
}
I also have references to things I like all over my code: my warning messages for timer issues usually contain the words "wibbly wobbly timey wimey", and when an interrupt isn't handled, the user is warned that this event damages my calm.
My OS is called Moss. This was originally because I wasn't creative and smashed together "MyOS", but eventually became a commentary on its development speed.