LED-Anzeige für QEMU
Arbeitsweise
- Editierung von einem im Internet verfügbaren Bootloader aus einem
  Hobby-Disketten-C++-Betriebssystem
- Einführen eines am Bus hörenden und sprechenden Geräts in QEMU
- MASM-Code -> NASM-Code (mit der richtigen Adresse, um vom Bootloader geladen
  zu werden und der Umschreibung der Parallelport-Aufrufe auf Buszugriffe und
  Korrigieren vieler kleiner Dinge, die dazu nötig sind)
- Assemblieren des NASM-Codes.
- Starten der QEMU-Simulation mit dem neuen Bus-Device und dem assemblierten
  Diskettenimage
Es sei noch darauf hingewiesen, dass der masm2nasm-Konverter zwar eine Teilmenge
der MASM-Syntax und insbesondere nur eine Teilmenge der MASM-Macro-Syntax
umwandeln kann, aber für den speziellen Fall des Universitätspraktikums
funktioniert.
Installation
- Hinweis: es sollten die üblichen Compiler und nasm und awk und sed und
  unix2dos und iconv installiert sein, was meistens komfortabel über den
  Paketmanager des Systems geht.
- Ein Verzeichnis erstellen (oder im home-Verzeichnis bleiben) und eine Konsole
   bei diesem Verzeichnis starten.
- Folgendes eintippen:
wget jbechtel.de/site/qemu/LED-Matrix/install.sh; . install.sh
 (dauert 5-15 Minuten)
- cd einzelpunkt
- make run
(Ist QEMU einmal heruntergeladen und installiert, kann man direkt in das
Verzeichnis compile/einzelpunkt gehen und mit make run simulieren.)
Das dann laufende QEMU öffnet ein Fenster und zeigt eine simulierte LED-Matrix
an. Wenn man auf 'i' eintippt, dann wird ein Interrupt zu dem einzelpunkt-Code 
geleitet und der Punkt verschwindet. 'q' beendet das Fenster, aber man muss noch
in der Konsole 'Ctrl-a x' eintippen, damit QEMU (nicht über den vielen
ausgegebenen Text wundern) beendet wird.
Was macht die Installation?
- Eine modifizierte Fassung von QEMU (qemu.tgz) herunterladen.
- Das Beispiel-MASM-Programm mitsamt einem einfachen MASM2NASM-Konverter
 herunterladen. (einzelpunkt.tgz, kann längst nicht alle
 MASM-Fähigkeiten abbilden und geht davon aus, das der Quelltext für ein
 DOS-Programm und für diese LED-Matrix geschrieben wurde, und erzeugt daraus
 einen bootfähigen Code.)
- QEMU kompilieren