Tja, kaum veröffentlicht, muss schon alles überarbeitet werden 🙂
Gründe: zu viel Code-Ballast. Funktioniert nicht auf einem Test-Laptop. Keine Ahnung wo der genaue Fehler liegt – nur ein paar Vermutungen. Außerdem: mehr als die Hälfte des Codes ist nur für die hübsche CUI da. Fragwürdige Features mit magerer Implementierung.
Außerdem: ich bin MASMler. Nur ist MASM für ein solches Projekt kaum geeignet – stattdessen musste NASM herhalten. Und dieser Assembler sagt mir gar nicht zu – gewohnte Features von MASM (z.B anonyme Labels) müssen mir Macros realisiert werden, STRUCTs bzw. Äquivalente sind recht zickig und insgesammt kann ich mich mit damit immer noch nicht so wirklich anfreunden. FASM scheint auf den zweiten Blick deutlich angenehmer. Das heißt: jetzt die Gelegenheit nutzen, FASM Portierung bzw. Rewrite machen und KISS Prinzip umsetzen.
Aktuelle „Fehler“:
- multidrive Unterstützung – wer hat schon mehr als 3-4 Festplatten im Rechner? Tatsächlich haben gut 1/3 des Codes nur mit der Anzeige der Laufwerke bzw. der Möglichkeit, dass es mehr als 6 Laufwerke sein könnten zu tun.
- HexDump – sieht hübsch aus, nützlich bei der Entwicklung zur Fehlerkontrolle – jedoch muss ca. 1/3 des Codes dafür sorgen, dass es angezeigt wird (da man für 512 Bytes 32 Zeilen a 16 Bytes für die „übliche“ HexDump Darstellung braucht, müssen eine Scrollfunktion/Zeilencounter usw. implementiert werden). Braucht in der Praxis kaum jemand – wenn, dann als „Extended“ Loader umsetzen (bei Bedarf Code nachladen) oder gar als Extra-Loader. Nicht umsonst haben Lilo/Grub/TrueCrypt Loader minimale CUI.
- Lesen von Tastatur, Reboot/Shutdown/Booten von Festplatte sollten zuverlässiger werden
ToDo v0.4:
- simple CUI (Liste mit Platten+Hashes) umsetzen
- Grundfunktionen sollten korrekt sein, möglichst BIOS Bugs berücksichtigen
- eine sichere Hashfunktion implementieren