Hacker News new | past | comments | ask | show | jobs | submit login

> while in the 486 era BIOSes were exclusively written in very carefully optimised Asm

Nope; the change happened in the 386 era; by the 486 era most BIOSes would be (partially/mostly) written in a pretty uncarefully written "HLL". Even before I would argue against the "carefully optimized" ASM.




They were written in Asm up into the 2000s; at least AMI and Award were. Despite a lot of macro use, there was certainly an emphasis on keeping things as small as possible.

Contrast that with just shoving compiler output into the ROM image.


I had a 486 with AMI WinBIOS [1]. It looks like a UEFI setup, just 20 years earlier. If they wrote all that in ASM, then I'm really impressed!

https://www.youtube.com/watch?v=2aHWtVJSctM


Yes, WinBIOS was 100% Asm.

It wouldn't fit in a 64K ROM otherwise, and even then it was compressed.


They had _some_ asm (you just can't avoid it), plus whatever historical crap they already had, but most definitely the immense majority of an Award BIOS of the 2000s is compiled C code (e.g. "new setup"). And done by "developoors" as much as it gets.

Do note that, even with compilers of the era, using HLL with care can result in having an _easier_ time managing codesize than some of the garbage written in assembly by random developers... specially as feature creep starts to set in, which by the 2000s was in full force.

Have you ever seen a USB stack (even for HID boot protocol) in assembly on a commercial BIOS?


Have you ever seen a USB stack (even for HID boot protocol) in assembly on a commercial BIOS?

Yes. On AMIBIOS 627.10 and Award v6.00 (both used into the early 21st century) the USB stack is 100% Asm, as is the rest of the BIOS.

I left that scene in the late 2000s but my understanding is that C didn't start showing up in BIOS until the UEFI era (Tianocore etc.).

There have been some leaks over the years of both "old-school" and "new-school" BIOSes, so these facts can be verified.


I will take a look, but right now I would be skeptical of any such "100% asm" "leak", considering how easy it is to get a lightly commented listing. My position is indefensible, so no point arguing though.

> C didn't start showing up in BIOS until the UEFI era (Tianocore etc.).

"Showing up" is an understatement, since Tianocore is almost all C. And we didn't switch from 100% asm to 99% c overnight.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: