Seitendatum: 28.03.08

Warning: file(/home/hanno/www/log/php/counter.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 27

Warning: file(/home/hanno/www/log/php/counter_max.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 28

Warning: file(/home/hanno/www/log/php/ips_counter.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 29

Warning: file(/home/hanno/www/log/php/ips_user_online.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 30

Warning: fopen(/home/hanno/www/log/php/counter_max.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 54

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 55

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 56

Warning: file(/home/hanno/www/log/php/counter_max.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 57

Warning: fopen(/home/hanno/www/log/php/ips_user_online.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 60

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 61

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 62

Warning: fopen(/home/hanno/www/log/php/counter.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 82

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 83

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 84

Warning: fopen(/home/hanno/www/log/php/ips_counter.log): failed to open stream: No such file or directory in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 87

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 88

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 89
Es ist 1 Nutzer online.
Seit dem 30.06.05 waren 1 Besucher auf dieser Seite.

Warning: date() expects parameter 2 to be long, string given in /home/hanno/www/pebbles.schattenlauf.de/include/besucherzaehler.php on line 94
Größte Zahl gleichzeitiger Besucher war am mit Besuchern.

Hauptmenü

HauptseiteHier finden sich für alle Projekte Kurzinfos und Links.

Der Stil dieser Seite läßt sich bei modernen Browsern wie Firefox übrigens im Menü Ansicht, Webseiten-Stil einstellen. Unbedingt ausprobieren!
NEO TastaturlayoutNeues, ergonomisches Tastatur Layout für Schnell- und Vielschreiber Java Projekte Hier findet sich das Spiel JavaSails! und zum Beispiel ein Benchmark Java gegen C Webdesign Was ist Webdesign? Was ist das Web? Worauf sollte ich achten, wenn ich Informationen ins Netz stelle? Eine kurze Einführung in den Geist des Web. SFD und ShadowrunDas SFD ist ein freies Cyberpunk Quellenbuch, das eine nützliche und liebevolle Ergänzung für das Fantasy Rollenspiel Shadowrun und andere darstellt. Mehr als 600 Seiten Din-A4 mit über 300 Illustrationen frei herunterladbar. RollenspielMaterial und Präsentationsseiten mit dem Thema Fantasy Rollenspiel. ImpressumHier finden sich die rechtlichen Voraussetzungen dieser Präsenz E-Mail
Um den Autor dieser Seite zu kontaktieren: E-Mail an Hanno Behrens schreiben.
Bild: Hanno Behrens

Interaktives Wiki

Wiki Start/BlogDiese Wiki-Seiten umfassen alle Themen dieser Präsenz und wurden teilweise von ihren Besuchern geschrieben. Hier findet sich auch der News-Blog. Wiki InhaltHier findet man alle im Wiki enthaltenen Seiten. Der übersichtlichere Zugang geht über die Startseite, aber man kann im Wiki auch nach Seiten suchen. AnmeldenWer bereits im Wiki eingetragener Benutzer ist, kann sich hier sofort anmelden und das Wiki betreten.

Java C64 Emulator

Anmerkung

Kommandozeilenaufruf

java -jar c64.jar

In diesem Modus erscheint ein Menüpunkt zum Laden von c64-Programmen, wie etwa das niedliche 8-Damenproblem "8-damen.prg", das dem jar-archiv beiliegt und mit

jar xf c64.jar 8-damen.prg

extrahiert werden kann. Um das Programm laufen zu lassen, sollte man auch die rom-Files extrahieren. Hätte das Applet zwar eigentlich aus dem jar ziehen können müssen, tut es aber nicht. Ist wohl ein Bug des Originals. Der referenziert wahrscheinlich nicht die Codebase oder so. Egal.

Anleitung

Dieses niedliche, kleine Applet emuliert einen C64, allerdings mit stark eingeschränktem Betrieb. Ich fand den Emulator zwischen einem Haufen anderer Emulatoren und konnte den Autor nicht ausfindig machen. Naja. Der Java-Source lag bei und ich stellte schnell fest, dass Tastatureingaben nicht funktionierten. Nach Beseitigung einiger rudimentärer Bugs und Implementation von funktionierenden Tastatureingaben lief es dann doch überraschenderweise.

Die Tastatureingabe funktioniert nur, wenn der Mauszeiger im Emulator ist. Mit "+" kann man den Bildschirm vergrößern, mit "-" verkleinern, mit der Maus läßt er sich verschieben.

Der Emulator läuft mit Original-ROMs, aber ohne Soundunterstützung. Die Emulationsleistung ist eher gering, für einen kleinen Basic-Betrieb oder ein paar niedliche Programme reicht es jedoch aus. Das Applet ist ja auch mehr als Gag auf einer Homepage gedacht, als denn als richtiger Emulator. Es werden nicht alle Tasten emuliert und die Tasteneingaben werden eher grob in die virtuelle Maschine geschossen, anstatt ordentlich eingearbeitet zu werden. Ebenfalls zeigt das Basic einige Merkwürdigkeiten im Verhalten, was ich mir ad hoc nicht erklären konnte. Aber egal. Hielt ich nicht für wichtig für diese Anwendungszwecke. Naja, zumindest läuft mein gutes, altes 8-Damenproblem, das, glaube ich, damals '87 aus einer Wette heraus entstanden war. Da hatte ein Freund sich an dem Problem versucht und in Basic für die 92 Lösungen fast einen ganzen Tag gebraucht. Ein anderer Freund wollte das besser machen und kodierte den Spaß in 6502-Assembler. Dazu spielte im Hintergrund Musik. Ich sah mir das an und bekam Haarausfall. "30 Minuten?! Ich brauche für das Problem höchstens 30 Sekunden und mir selbst gebe ich 3!" So kam es zu einer kleinen Wette. Nun, je. Nachdem ich nach dem ersten Aufruf erstmal den verflixten Fehler im Programm gesucht hatte, da die knapp 2 Sekunden Ausführungszeit (im Testlauf ohne Ausgabe) ja nicht sein konnten, stellte ich fest, dass ich das schnellst mögliche 8-Damenproblem-Löseprogramm geschrieben hatte (das jemals existieren würde). Warum? Weil das Programm mit jedem Bildaufbau eine neue Lösung präsentiert und das mit 25 Hz. Das absolute Maximum, dem das menschliche Auge theoretisch folgen kann. Denn die Aufgabe lautet präzis (es war ja eine Wette): "...ein Programm, das alle 92 Lösungen findet (ohne Spiegelungsunterscheidungen) und diese sichtbar anzeigt..."

Nun, meine Schokolade hat gut geschmeckt. Auf dem Java-Emulator läuft die Routine jedoch weitaus langsamer. Zumindest auf meinem Rechner.

Das Programm darf nur zusammen mit dieser Seite kopiert werden. Eine Kopie dieser Seite liegt dem jar-Archiv bei. Die GIF-Grafiken des Originals hab' ich mal nicht angerührt, damit jeder die ursprüngliche Quelle des Files finden kann.

viel Spaß!

Email: Hanno Behrens

Download

Download: Java C64 Emulator

Externe Links

Commodore C=64

Wikipedia: Was ist ein C=64? Wikipedia: Wasist ein Emulator? Das C64 Portal

Bücher und Informationen

Wikipedia: Was ist Java? Wikipedia: Was ist "C"? Wikipedia: Was ist der gcc? Wikipedia: Was ist die Java VM? Artikel: Die Java Falle Warum es wichtig ist, sich von proprietärer Software zu lösen. Wikipedia: Was ist freie Software? Warum machen sich so viele Menschen die Mühe und geben ihre Programme kostenlos ab, wo sie doch statt dessen jede Menge Geld damit verdienen könnten? Oder verdienen sie damit trotzdem Geld? Oder gerade deswegen? Oder ist Geld am Ende völlig bedeutungslos bei dieser Frage? Buch: Java ist auch eine Insel Dieses Onlinebuch von Christian Ullenboom auf Deutsch vermittelt leicht verständlich den Umgang mit Java. Buch: Thinking in Java von Bruce Eckel Buch: Thinking in Patterns with Java von Bruce Eckel Optimiert programmieren unter Java Alles zum Thema, optimieren nach Geschwindigkeit, Größe oder Wartbarkeit, ebenfalls findet sich hier der Linpack Benchmark, der ein wesentlich genaueres Ergebnis erzeugt als die hier vorgestellte Routine. Java vs C++ Eine nicht ganz neutral geschriebene Seite, die abar am Ende auf Fakten kommt und damit sehr ernst zu nehmen ist. Wie immer gilt bei Optimierungen, dass es drauf ankommt... Does Java need Checked Exceptions? Das Fehlerabfangen in Javaprogrammen wird häufig von Programmierern aus Bequemlichkeit ignoriert. Dafür gibt es technische und menschliche Gründe. Doch hier findet sich eine überraschend einfache Lösung für das Problem. Tutorial: Das Java Tutorial von Sun Das Standard-Tutorial von Sun ist für die meisten Java-Anfänger und auch für die Fortgeschrittenen ein immer wieder genommenes Referenzwerk, falls es zu Problemen kommt oder Änderungen im Sprachgebrauch stattgefunden haben. Buch: Einführung in Java Ein weiteres freies Online-Buch zum Thema Java. Viele weitere Java Ressourcen Wem die Ressourcen bisher noch nicht genügen, findet hier mit Sicherheit alles zum Thema Java, was bislang ungenannt geblieben ist.

Programme

Java von Sun Microsystems Die Firma Sun ist der Erfinder der Sprache Java. In jüngerer Zeit gibt es von Sun unabhängige Bestrebungen, sowohl Compiler als auch Laufzeitumgebung von der Firma zu lösen und freie Alternativen zu erschaffen. Die Sun-Implementation gilt als umfangreichste und am weitesten entwickelte. GNU: Freier Java Compiler GCJ Der GNU-Javacompiler erzeugt auf Wunsch Java-Bytecode oder sogar direkt ausführbaren Maschinencode - je nach Bedarf. GNU: Freie Java Laufzeitumgebung Kaffe Um ein Javaprogramm laufen lassen zu können, braucht es eine virtuelle Maschine, die außerdem eine beachtliche Anzahl Bibliotheksfunktionen zur Verfügung stellt.

Foren

Java User Group Deutschland Hilfestellungen und ein gut frequentiertes Forum in Deutsch.