011
28.11.2008, 18:24 Uhr
jmueller
|
Ich habe nun den SCCH-Monitor 10/88 bekommen und habe mir das vermeintliche Tastaturproblem angeschaut. Auf meinem langsamsten Rechner, einem mit 800 MHz Athlon Prozessor, und nur auf dem, tritt der Effekt auf. Und es ist leider so, dass die Rechenleistung nich ausreicht. Das sieht man daran, dass in der Statuszeile eine emulierte Taktfrequenz kleiner 2 MHz angezeigt werden.
Nun werden manche fragen, wie das denn sein kann. Also die allermeiste Rechenleistung verbrät der Emulator für die Aufbereitung der Grafik. Das liegt zum einen daran, dass ich nicht übermäßig auf Performance geachtet habe, aber vielmehr noch an dem plattformübergreifenden Konzept der Programmiersprache Java (obwohl Java ansich inzwischen nicht mehr langsam ist). Man kann da eben nicht direkt auf die Grafikkarte schreiben, sondern nur auf abstrahierte Grafikobjekte, und das auch noch nicht mal so richtig pixelweise. Da benötigt eben die Visualiserung viel Rechenleistung.
Im konkreten Fall liegt das Problem daran, dass durch den falschen Zeichensatz (es gibt einen SCCH-Zeichensatz) ein falscher Cursor dargestellt wird, bei dem sich mit jedem Pixel die Farbe ändert. Dumm ist nur, dass dieser Cursor blinkt. Die Art und Weise, wie ich die Bildschirmausgabe visualisiere, ist unter der Annahme optmiert, dass heuristisch gesehen häufig benachbarte Pixel die gleiche Farbe haben (z.B. Hintergrund). Und genau das passt bei diesem Cursor nicht.
Auf einem schnelleren Rechner ist das kein Problem. In der nächsten Version von JKCEMU wird dieses Problem zumindest bei einem 800 MHz-Rechner auch nicht mehr auftreten, denn ich habe in meiner Entwicklerversion den SCCH-Monitor mit dem richtigen Zeichensatz bereits integriert. Und da dann der Cursor voll ausgemalt ist, passt auch die Optimierungsstrategie wieder und die benötigte Rechenleistung ist deutlich geringer.
Wie ich inzwischen erfahren habe, stellt mein Emulator die AC1-Zeichen falsch dar, nämlich mit 8x8-Pixel, richtig sind aber 8x6. Auch das habe ich bei mir bereits geändert, und auch das reduziert die benötigte Rechenleistung, da ja die Bildschirmausgabe dadurch kleiner wird und somit weniger Pixel visualisiert werden müssen.
Also nehmt einen schnelleren Rechner oder wartet auf die nächste Version!
Gruß Jens |