Das offizielle Blog der h8u.de Gemeinde | |
Also known as the "one-hit wonder" |
Friday, 28. October 2011Racing The Beam
Programmieren auf dem Atari 2600 unterscheidet sich vom Programmieren für andere Konsolen. Normalerweise ist es üblich das Spielgeschehen Bild für Bild in den Bildschirmspeicher zu schreiben. Man verändert dabei den Bildschirmspeicher zu einem Zeitpunkt an dem er nicht gerade dargestellt wird, und bereitet so das nächste Bild vor. Beim Atari 2600 gibt es keinen Bildschirmspeicher, der Seitenweise aufgebaut ist, sondern nur zeilenweise. Man befindet sich also in einem Wettrennen mit dem Rasterstrahl, "Racing The Beam". Dabei gibt hilft einem der Video-Chip, TIA genannt, keinen Fehlstart hinzulegen. Dafür stellt er einem Methoden zur Verfügung, den Prozessor so lange anzuhalten, bis entweder der Bildschirmanfang oder der Anfang einer neuen Zeile erreicht ist. Ohne diese wäre es quasi unmöglich auf dem Atari 2600 ein Bild darzustellen. "Racing The Beam" vollständig lesen Sunday, 9. October 2011Poor Man's Rootkit
Ich habe dabei ein paar Sachen kombiniert, die ich schon Monaten, das Meiste davon sogar schon seit Jahren kenne. Interessant ist dabei die Mächtigkeit, die aus den Kombination der Einzelteile entsteht. Der Trick besteht im Wesentlichen daraus, dass man dem Linker beim Starten eines Programms anweisen kann, neben den angeforderten Bibliotheken noch weitere "Shared Objects" hinzu zu laden, die dann eine höhere Priorität aufweisen. Das wollen wir uns zu nutze machen, um den Aufruf der Funktion open() aus der C-Bibliothek "abzufangen". "Poor Man's Rootkit" vollständig lesen Thursday, 6. October 2011Programmieren lernen?
Am letzten Tag saßen wir noch einmal beim Frühstück zusammen, und er ließ den Satz fallen "eigentlich wollte ich auch mal immer programmieren lernen..." meine Antwort war: "Lass es, es ist eine Zeitsenke." Je länger ich darüber nachdenke, desto mehr fällt mir auf, dass diese Antwort doch zu kurz gegriffen ist. Deshalb nutze ich doch einmal mein eigenes Blog, mich etwas detaillierter darüber auszulassen. Mittlerweile würde ich die Fragestellung, ob man einfach mal so Programmieren lernen sollte, mir eine Gegenfrage beantworten: "Es lohnt sich nur, wenn Du weißt, was Du programmieren willst. Meinst Du, es lohnt sich die Technik des Malens zu lernen, wenn man nicht weiß, was man malen soll. Ein Musikinstrument, wenn Du keine Lieder spielen willst? Oder eine Fremdsprache, wenn man nicht vor hat, Literatur in dieser Sprache zu lesen, Filme zu sehen, und auch nicht sich mit Leuten unterhalten möchte?" "Programmieren lernen?" vollständig lesen Friday, 2. September 2011Dear Lazyweb: Graphen erzeugen
Irgendwie gab es immer einen Fall, in dem die Abfrage, die außerdem noch eine Schnittstelle zum Auslesen der CD-Daten via CD-Text verwendet, nicht so funktioniert hatte, wie ich es meinte. Habe ich mal schnell eben das eine Problem gelöst, habe ich meistens damit ein bis zwei andere Probleme geschaffen. Unterm Strich blieb immer mindestens ein Problem über. Also habe ich mir Gedanken gemacht, wie die Beschreibung der Funktion in einem Zustandsautomaten aussehen sollte. Nachdem ich dies graphisch beschrieben habe, habe ich es dann "von Hand" runter programmiert. Dabei sind mir noch Unzulänglichkeiten aufgefallen, die ich aber überraschend einfach in den Griff bekommen habe, durch das Hinzufügen eines neuen Zustandes und ein paar übersehener Übergänge. Das vorläufige Endergebnis habe ich hier noch einmal aufgezeichnet. Zustandsautomat Wenn ich mir das Bild noch einmal anschaue, verstehe ich auch, warum viele Beispiele von State Machines Ampeln nachbilden: die Dinge neigen dazu, schnell an Komplexität zuzunehmen. "Dear Lazyweb: Graphen erzeugen" vollständig lesen Thursday, 18. August 2011Hackerspielzeug: r0ketMeine r0ket :)
Es ist ein wahres Hackerspielzeug. Für Hacker. Von Hackern. Genauer hätte man den Punkt kaum treffen können. Die Hardware ist so ausgeklügelt, dass man sie sich nicht "kaputt flashen" kann. In Fachkreisen nennt man das auch "bricken" von "Brick" dem englischen Wort für "Stein", weil in einem solchen Fall ein solches Gerät eben nur noch als ein solcher taugt. Das bedeutet also, dass man nach Herzenslust an der Software des Gerätes rumspielen kann, was ich auch schon ab Tag 1 des Camps gemacht habe. "Hackerspielzeug: r0ket" vollständig lesen Wednesday, 3. August 2011Nimm doch einfach einen falschen Namen
"Nimm doch einfach einen falschen Namen" vollständig lesen Thursday, 21. July 2011Mehr Spaß in der 8-Bit Welt
Heute soll es nochmal um das Chameleon gehen, die FPGA-Implementierung eines Commodore C64. Nach etwas Überredungsarbeit habe ich dafür eine Netzwerkkarte bekommen, einen von acht Prototypen. Selten hatte ich so viel Spaß beim Programmieren gegen widrige Umstände. Ich habe da gerade eine Beta Version und einen Prototypen in der Mache, klar dass da noch nicht alles reibungslos funktioniert. Aber ist es jetzt wirklich ein Hardware-Fehler, oder habe ich doch noch irgendwo was falsch programmiert? Solche Fragen galt es zu klären. Inzwischen kann ich TCP Daten empfangen, für das erste Ziel, was ich im Auge habe, fehlt noch das Verschicken der Antwortpakete, und das sinnvolle Bearbeiten der empfangenen Daten. "Mehr Spaß in der 8-Bit Welt" vollständig lesen Sunday, 17. July 2011Warum ich mich auf Windows 8 freue
Und dennoch bin ich voller Vorfreude auf die nächste Version des "Betriebssystemersatzstoffes aus Redmond", wie ich Windows auch gerne nenne. Der Arbeitstitel "Windows 8" wird sicherlich noch einmal geändert, schießlich wäre es das erste Mal seit über 10 Jahren, dass Microsoft bei der Benennung mal konsistenz zeigen würde, von dem neuen System verspreche ich mir mehr, als von jedem anderen Windows, das ich bisher miterlebt habe, wenn auch eher indirekt. "Warum ich mich auf Windows 8 freue" vollständig lesen
|
SucheKategorienStatische SeitenAnsicht auswählen |
Kommentare