Hi,
ich möchte euch hiermit mein neues Projekt SDrive-MAX vorstellen, eine Weiterentwicklung des Atari 8-bit Floppyemulators sdrive(-ng) auf Arduino Basis mit Touchscreen, womit ich mich seit Ende September, also knapp 6 Wochen beschäftige.
Irgendwie bin ich durch Zufall beim Shoppen darauf gestoßen, daß es für Arduino ja relativ günstige TFT-Touchscreens gibt. Dann hab ich etwas weiter recherchiert und festgestellt, daß so ein Arduino ja auch nicht mehr viel kostet. Und da beim bisherigen sdrive-ng immer etwas die Hürde war, es selber bauen zu müssen, war die Idee geboren.
Ich habe mich dann relativ schnell für den UNO entschieden, billig, an jeder Ecke zu bekommen, und er benutzt den gleichen AVR-Chip wie das sdrive-ng. Daher dachte ich mir, wird das Portieren kein großes Problem darstellen, und von der Größe her passt der optimal mit dem Display zusammen. Also hab ich mir mal beides besorgt.
Erste Experimente mit der Arduino-IDE und den mitgelieferten Bibliotheken haben schnell gezeigt, daß ich so nicht weiterkomme, denn nur mal alle nötigen Bibliotheken mit eingebunden, und schon war ich bei knapp 30K Code, da war noch kein Fetzen eigener Code dabei, geschweige denn der Code vom alten sdrive-ng. Da war ich dann schon am Überlegen, ob das weiter überhaupt Sinn macht, oder ob ich besser gleich auf einen MEGA zurückgreifen soll? Aber der wäre dann schon wieder deutlich größer gewesen, und eigentlich schon viel zu viel Overhead.
Nein, hab ich mir gesagt, ich nehme mich der Herausforderung an, es in einen UNO zu bekommen, und wenn man alles selber macht, kann man sicher einiges an Code sparen. Scheiß auf die Arduino-IDE, Hauptsache ich kann die Hardware nutzen, warum also nicht wieder ganz normal in C?. Zudem ist das sdrive-ng auch mit avr-gcc entstanden, und auf dieser Schiene wollte ich dann auch weitermachen.
Dann bin ich noch auf ein anderes Projekt gestoßen, wo jemand schon mal eine Library für dieses Display unter C begonnen hat. Auf diese hab ich dann zurückgegriffen, und das für meine Bedürfnisse angepasst, optimiert und erweitert.
Als dann die Grundlagen für das Display funktionsfähig waren, war es Zeit den bisherigen sdrive-ng Code mit dem Display Code zu verheiraten. Das war nicht ganz einfach, hat einiges an Anpassungen am bisherigen Konzept gebraucht, Anpassung an die andere Taktfrequenz usw., aber in wenigen Tagen war die Hochzeit vollzogen.
So nach und nach wurden dann die wichtigsten Funktionen über das Display eingebaut, so daß ich jetzt einen Stand erreicht habe, wo es benutzbar ist, und ich es deshalb nun veröffentlichen möchte. Ich hab es also geschafft, mit 32K Flash auszukommen, und es ist sogar noch etwas Luft nach Oben, derzeit sind knapp 23K belegt.
Das ist eigentlich das erste Mal, daß ich etwas mit Grafik programmiert habe, außer kleine Spielereien vielleicht. Es hat Spaß gemacht, viel Neues dabei gelernt, z. B. daß es zwischen Position 10 und 20 nicht 10, sondern 11 Pixel sind. Das hat mich soweit getrieben, daß ich mir die Pixel auf einem Blatt Papier aufzeichnen musste, bis ich das kapiert hab .
Ich hoffe, der ein oder andere hat nun auch Spaß damit beim Nachbauen und Benutzen.
Infos und Firmware gibts wie immer auf meiner Webseite: http://www.kbrnet.de/projekte/sdrive-max/index.html
Kosten für Arduino + Display 20 - 25 EURO(aus dem Ausland viel billiger).
Klaus