commit 6d217516bab98e9654a835271faf76f9b1a933c3
parent b3340a1060a3729bdb1578f069be168dbbbbf525
Author: Virgil Dupras <hsoft@hardcoded.net>
Date: Wed, 27 Jul 2022 07:49:12 -0400
Add REFS.md
Diffstat:
A | REFS.md | | | 30 | ++++++++++++++++++++++++++++++ |
1 file changed, 30 insertions(+), 0 deletions(-)
diff --git a/REFS.md b/REFS.md
@@ -0,0 +1,30 @@
+# Documentation references
+
+Developing drivers for modern hardware is different than for developing for old
+ones. In a way, it's simpler because modern hardware's configuration is mostly
+done in software and many conventions seem to have emerged over the years,
+making developing drivers for a wide list of devices rather easy.
+
+But on the other side, reference documentation is lacking. With old hardware,
+you often have one or two documents that will give you all you need to know
+about a piece of hardware. With modern hardware, documents are scattered.
+
+Luckily, people have been collating information about it and this helps
+immensely. This is a list of references I've been using for Dusk.
+
+First, there's of course [OSDev][osdev], which is very nice because it contains
+information on a very wide number of subjects, but at the same time, it's often
+lacking in depth. In many areas, wiki pages are more like a receipe than a
+proper explanation. But I can't spit on it, I use it. Moreover, wiki pages have
+references to proper documentation, and that's where the real deal is, so it's
+a very good starting point.
+
+Other than OSDev, this is the list of references that have been particularly
+helpful:
+
+* [FreeVGA][freevga]
+* [Ralph Brown's x86 interrupt list][ralphint]
+
+[osdev]: https://wiki.osdev.org/
+[freevga]: http://www.osdever.net/FreeVGA/home.htm
+[ralphint]: http://www.cs.cmu.edu/~ralf/files.html