Ich weiß nicht, wie es euch geht, aber ich wollte schon immer mal die sagenumwobene BAM einer Diskette klein und kompakt grafisch darstellen. Damit man einfach mal auf einen Blick sieht, wie die Daten sich verteilen.
Na, und was liegt da näher, als die Daten einer BAM in einem Sprite darzustellen?
Ganz so einfach war es dann doch nicht, denn die Bits liegen in den BAM-Bytes sozusagen falsch herum, man muss sie spiegeln, damit zusammenhängende Belegungen auch als zusammenhängende Flächen gezeigt werden.
Aber nach etwas Tüfteln hat es dann geklappt, und jetzt sieht die Sache tatsächlich ungefähr so aus, wie ich sie mir vorgestellt hatte!
Wohlgemerkt, die *freien* Sektoren sind farblich (schwarz) markiert. Man sieht bei der - fast leeren - BAMMEL-Diskette, wie sich die schwarze Fläche nach unten verjüngt. Das liegt daran, dass dort die kleineren Spuren kommen, die weniger Sektoren beinhalten.
Das Spiegeln der Bits hat unter BASIC doch recht lange gedauert. Ich habe das so gemacht:
Weiß jemand vielleicht eine schnellere Methode, um das Ziel zu erreichen?
Anyway, um die Sache etwas abzukürzen, gibt es auch eine Version, die an dieser Stelle eine kleine Maschinenroutine benutzt. Aber nur eine gaaaanz kleine! (14 Bytes)
Das Programm gibt es nun also in 2 Versionen:
- "Bammel/A" mit kleiner Maschinenroutine und
- "Bammel/B" in reinstem, klarem BASIC!
So oder so... viel Spaß mit "BAMMEL"!