diff --git a/Changelog.txt b/Changelog.txt
index 38cc86c..465a328 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -7,3 +7,10 @@ $Id: Changelog.txt,v 1.3 2008/07/12 21:23:36 rschaten Exp $
* Release 080712
- fixed usbSendReport() and backslash-key on european keyboards
+
+* Release TODO
+
+- ghost key detection and prevention
+- support for two different hardware models, added Sun Type 5
+- bootloader hotkey moved to D, to provide consistency on keyboards without
+ numeric keypad
diff --git a/firmware/main.c b/firmware/main.c
index b71dedc..239c893 100644
--- a/firmware/main.c
+++ b/firmware/main.c
@@ -50,19 +50,30 @@
* update the keyboard's firmware without disassembling it, and without the
* need for a dedicated programmer.
*
+ * \subsection sec_models Models
+ *
+ * Till now, I modified the following keyboard models:
+ * - IBM Model M: The initial project, hardware as described above. This
+ * keyboard has a 8x16-matrix, all the lines can be connected directly to
+ * the controller.
+ * - Sun Type 5: Another classic. A nice model with many keys. Some of them
+ * are placed a bit uncommon, but if you think about it the layout is great.
+ * This model was never intended to work with a PC, it has some kind of
+ * proprietary connector. The contained matrix has 13 columns and 22 rows,
+ * which is too big for a naked Mega32. So I had to make a circuit with some
+ * shift registers.
+ *
+ * Included in the package are circuits for both models, and a firmware that
+ * can be compiled separately for each one.
+ *
* \subsection sec_hardware Other hardware?
*
* As mentioned, the controller in this project is just connected to an
* ordinary keyboard matrix. You can find this kind of matrix in all kinds of
* keyboards, from key-telephones over good old hardware like the Commodore
- * C=64 or the Schneider CPC, keyboards with non-PC-connectors like those made
- * by Sun, to modern hardware that could need a few more features.
- *
- * Till now, I just made a PCB layout for the IBM Model M, but I intend to
- * modify at least a Sun keyboard. In order to do that, I expect having to
- * refactor the key-scanning, since the key-matrix is not 16x8. The positions
- * of the keys on the matrix will be different, I'll have to re-engineer that.
- * And of course, I'll have to make another PCB.
+ * C=64 or the Schneider CPC, keyboards with non-PC-connectors like -- as
+ * mentioned -- those made by Sun, to modern hardware that could need a few
+ * more features.
*
* \subsection sec_features Features
*
@@ -91,9 +102,10 @@
* \section sec_install Building and installing
*
* Both, the bootloader and firmware are simply built with "make". You may need
- * to customize both makefiles to fit to your system. If you don't want to add
- * new features, you don't need to build the software yourself. You can use the
- * hex-files included in this package.
+ * to customize both makefiles to fit to your system and to the keyboard model
+ * you want to run the firmware on. If you don't want to add new features, you
+ * don't need to build the software yourself. You can use the hex-files
+ * included in this package.
*
* \subsection sec_boot Bootloader
*
@@ -123,10 +135,10 @@
* Afterwards you can put the programmer back into the toolbox, you won't need
* it from here on.
*
- * When you plug in the device while holding the minus-key on the number-keypad
+ * When you plug in the device while holding the D-key (D is for Dulcimer)
* pressed, the keyboard indicates that it would like to get a new firmware by
- * showing a running light on the LEDs. That firmware will be flashed over the
- * normal USB-cable that the keyboard is connected with.
+ * fading all LEDs on and off. That firmware will be flashed over the normal
+ * USB-cable that the keyboard is connected with.
*
* \subsection sec_fw Firmware
*
@@ -159,11 +171,7 @@
*
* \section sec_drawbacks Drawbacks
*
- * I don't know if and how keyboard manufacturers face the problem of ghost
- * keys, I didn't take special measurements for this. I hope that the engineers
- * at IBM distributed the keys on the matrix in a way that minimizes this
- * problem. Don't misunderstand: I haven't experienced that on this keyboard,
- * but I know that it's a common problem on key-matrixes.
+ * Let me know if you find any. :-)
*
* \section sec_files Files in the distribution
*
@@ -175,9 +183,11 @@
* only modified the bootloaderconfig.h and the Makefile.
* - \e USBaspLoader.2008-02-05.tar.gz: The unmodified bootloader sources, for
* reference.
- * - \e circuit: Circuit diagrams in PDF and KiCAD format. KiCAD is a free
- * schematic- and layout-tool, you can learn more about it at its homepage:
+ * - \e circuit_ibm_model_m: Circuit diagrams for the IBM Model M, in PDF and
+ * KiCAD format. KiCAD is a free schematic- and layout-tool, you can learn
+ * more about it at its homepage:
* http://www.lis.inpg.fr/realise_au_lis/kicad/
+ * - \e circuit_sun_type_5: Circuit diagrams for the Sun Type 5 keyboard.
* - \e License.txt: Public license for all contents of this project, except
* for the USB driver. Look in firmware/usbdrv/License.txt for further info.
* - \e Changelog.txt: Logfile documenting changes in soft-, firm- and
@@ -197,6 +207,9 @@
* answered many stupid questions about electronics I had during the last few
* years.
*
+ * Once again, Thomas Stegemann supported this project. Ghost key
+ * prevention and the possibility to work on different models are his work.
+ *
* And of course I'd like to thank FaUl of the Chaostreff Dortmund who
* gave me the idea for this project.
*