{"id":1996,"date":"2013-05-17T20:03:11","date_gmt":"2013-05-17T20:03:11","guid":{"rendered":"http:\/\/www.ollmetzer.com\/?p=1996"},"modified":"2013-05-18T11:57:23","modified_gmt":"2013-05-18T11:57:23","slug":"320-bits-40-bytes-40-prozessortakte","status":"publish","type":"post","link":"https:\/\/www.ollmetzer.com\/?p=1996","title":{"rendered":"320 Bits, 40 Bytes, 40 Prozessortakte&#8230;"},"content":{"rendered":"<p>&#8230;ergeben eine Zeile Grafik auf dem guten alten Commodore 64.<\/p>\n<p>Auch in dieser Woche gab es wieder eine Veranstaltung aus der Vortragsreihe \u201cShift-Restore-Escape\u201d an der Humboldt Universit\u00e4t. Mein erster Eindruck: Nerd T-Shirts waren diese Woche Pflicht.  Der Vortragende <a title=\"Blog: Michael Steil\" href=\"http:\/\/www.pagetable.com\/\" target=\"_blank\">Michael Steil<\/a> z.B. trug das Firmenlogo von <a title=\"Wikipedia: Terminator (Film)\" href=\"http:\/\/de.wikipedia.org\/wiki\/Terminator_%28Film%29\" target=\"_blank\">Cyberdyne  Systems<\/a>, auf Stefan H\u00f6ltgens schwarzem Shirt stand in weissen Buchstaben  die Basicbefehle poke 53280,0, poke 53280,1 und poke 646,1. Das bewirkt  auf dem Commodore 64, dass Bildschirmrahmen und Hintergrund schwarz und  die Buchstaben weiss dargestellt werden. Das war eine sch\u00f6ne Einleitung in das Thema des Abends. Der Titel des Vortrags machte deutlich, dass es wieder technisch sehr ans Eingemachte gehen w\u00fcrde:<\/p>\n<blockquote><p>Rasterstrahl-Hacken: Grafik mit dem Commodore 64<\/p><\/blockquote>\n<p>Michael Steil begann seinen Vortrag mit der scheinbar einfachen Frage, wie man \u00fcberhaupt Grafik aus einem Computer auf einer Bildr\u00f6hre darstellen kann. Schnell wurde deutlich, dass die einfachsten Methoden mit den technischen Restriktionen (wenig und langsamer Speicher) der fr\u00fchen 80er Jahre nicht zu einer befriedigenden Grafik f\u00fchren konnten. Die seinerzeit sehr gute Grafikleistung des Commodore 64 wurde erst durch seinen sehr trickreichen Videocontroller <a title=\"Wikipedia: MOS VIC II\" href=\"http:\/\/de.wikipedia.org\/wiki\/MOS_Technology_VIC_II\" target=\"_blank\">VIC II<\/a> m\u00f6glich.<\/p>\n<div id=\"attachment_2005\" style=\"width: 490px\" class=\"wp-caption aligncenter\"><a rel=\"attachment wp-att-2005\" href=\"http:\/\/www.ollmetzer.com\/?attachment_id=2005\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2005\" class=\"size-medium wp-image-2005\" title=\"Grafik mit dem Commodore 64\" src=\"http:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_3-480x270.jpg\" alt=\"Grafik mit dem Commodore 64\" width=\"480\" height=\"270\" srcset=\"https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_3-480x270.jpg 480w, https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_3.jpg 1024w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><p id=\"caption-attachment-2005\" class=\"wp-caption-text\">Grafik mit dem Commodore 64<\/p><\/div>\n<p>Nachdem das Publikum mit dem Verst\u00e4ndnis f\u00fcr die technischen Restriktionen der fr\u00fchen 80er Jahre (Speichermenge, Speicherbandbreite und Preis) ausgestattet war, ging es daran, die Hintergr\u00fcnde f\u00fcr die clevere Umsetzung der verschiedenen Grafik und Textmodi, sowie der Sprites zu erl\u00e4utern. Interessant ist, dass sich die komplexen Funktionen mit einem relativ \u00fcbersichtlichen Chiplayout von nur 12.000 Transistoren verwirklichen liessen.<\/p>\n<div id=\"attachment_2003\" style=\"width: 490px\" class=\"wp-caption aligncenter\"><a rel=\"attachment wp-att-2003\" href=\"http:\/\/www.ollmetzer.com\/?attachment_id=2003\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2003\" class=\"size-medium wp-image-2003\" title=\"Der Blick auf den Chip\" src=\"http:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_1-480x270.jpg\" alt=\"Der Blick auf den Chip\" width=\"480\" height=\"270\" srcset=\"https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_1-480x270.jpg 480w, https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_1.jpg 1024w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><p id=\"caption-attachment-2003\" class=\"wp-caption-text\">Der Blick auf den Chip<\/p><\/div>\n<p>Nach der Vorstellung der von den Chipdesignern vorgesehenen Features kam der wirklich interessante Teil: Methoden und Tricks, die nicht geplant waren und im Laufe der Zeit von findigen Programmierern entdeckt wurden. Tricks mit denen sich wesentlich mehr Leistung aus dem Chip herauskitzeln liess, als <em>eigentlich<\/em> m\u00f6glich ist. Hierzu geh\u00f6rte die Darstellung von wesentlich mehr als 8 Sprites (ein Screenshot eines Spiels zeigte 21), die Erzeugung von mehr als 16 Farben, das Verschwinden lassen der Bildschirmrahmen und \u00e4hnliches.<\/p>\n<div id=\"attachment_2004\" style=\"width: 490px\" class=\"wp-caption aligncenter\"><a rel=\"attachment wp-att-2004\" href=\"http:\/\/www.ollmetzer.com\/?attachment_id=2004\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2004\" class=\"size-medium wp-image-2004\" title=\"Timing des Videocontrollers\" src=\"http:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_2-480x270.jpg\" alt=\"Timing des Videocontrollers\" width=\"480\" height=\"270\" srcset=\"https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_2-480x270.jpg 480w, https:\/\/www.ollmetzer.com\/wp-content\/uploads\/2013\/05\/VIC_2.jpg 1024w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><p id=\"caption-attachment-2004\" class=\"wp-caption-text\">Timing des Videocontrollers im Textmodus<\/p><\/div>\n<p>Obwohl ich aus Programmierersicht nichts Neues erfahren habe, fand ich  den Vortrag interessant und rund. Erst 30 Jahre, nachdem ich ich mich  zum ersten mal mit 6502 Assembler, Rasterzeilen Interrups und \u00e4hnlichem auf  dem &#8222;Brotkasten&#8220; besch\u00e4ftigt habe, wurde mir wirklich bewusst, wieso man  auf auf dieser eigentlich grottenlahmen Maschine (weniger als 1 MHz Systemtakt) so richtig gute  Software schreiben konnte.<\/p>\n<p>Der Witz liegt im perfekten Zusammenspiel von sehr gut aufeinander abgestimmten Komponenten. Somit liess sich trotz der beschr\u00e4nkten Ressourcen sehr viel erreichen. Dieser Erkenntnis l\u00e4sst sich jenseits von Computern auch auf andere Bereiche, beispielsweise Teams oder kleine Firmen \u00fcbertragen. Insofern hatte dieser sehr technische Vortrag auch wieder eine philosophische Komponente. Das ist genau das, was ich an dieser Vortragsreihe so sch\u00e4tze.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230;ergeben eine Zeile Grafik auf dem guten alten Commodore 64. Auch in dieser Woche gab es wieder eine Veranstaltung aus der Vortragsreihe \u201cShift-Restore-Escape\u201d an der Humboldt Universit\u00e4t. Mein erster Eindruck: Nerd T-Shirts waren diese Woche Pflicht. Der Vortragende Michael Steil z.B. trug das Firmenlogo von Cyberdyne Systems, auf Stefan H\u00f6ltgens schwarzem Shirt stand in weissen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,14],"tags":[],"class_list":["post-1996","post","type-post","status-publish","format-standard","hentry","category-gizmos","category-retro"],"_links":{"self":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/1996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1996"}],"version-history":[{"count":1,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/1996\/revisions"}],"predecessor-version":[{"id":2006,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/1996\/revisions\/2006"}],"wp:attachment":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}