5 ms·
If you really want to write code that you can understand all the way down I suggest starting from as close to bare metal as your level of masochism allows. For
by a-priori 17y ago
If you really want to write code that you can understand all the way down I suggest starting from as close to bare metal as your level of masochism allows. For me, that's GRUB.
This tutorial walks you through making a kernel image that GRUB can load, and shows how to poke bytes into video memory to print characters to the screen:
http://wiki.osdev.org/Bare_bones http://wiki.osdev.org/Bare_bones
- akgerber 17y agoAnd then buy an FPGA and bust out some Verilog and write the metal yourself.
- VBprogrammer 17y agoWhen I was about 14 I found writing a floppy disk boot loader in x86 Assembly to be a good way of learning how a computer really works at the most basic level. Including reading FAT12 to find the start of your next piece of code and even displaying a slash screen! While a little masochistic I find I still call upon what I learned back then while writing in C and to a lesser extent higher level languages.
- wallflower 17y ago"So I said, "I'll look into this floppy disk." And I started pulling up the datasheet on that chip, and I started coming up with my first ideas of "how do I have that chip get the data to a floppy disk?" And then I came up with this clever little approach. I needed a little bit of logic in here..." Steve Wozniak, Founders at Work Amazing full inspiring interview (I have read every interview in JL's book and it is by far my favorite) http://www.foundersatwork.com/steve-wozniak.html http://www.foundersatwork.com/steve-wozniak.html
- signa11 17y agowhich kind of reminds of alan-kay's musing "Hardware is really just software crystallized early"
- schemer 17y ago6.828 gets down to the bare metal. Or close to it. http://pdos.csail.mit.edu/6.828/2009/ http://pdos.csail.mit.edu/6.828/2009/