{"id":14506,"date":"2019-12-04T06:15:16","date_gmt":"2019-12-04T05:15:16","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=14506"},"modified":"2023-05-04T17:51:41","modified_gmt":"2023-05-04T15:51:41","slug":"chip-8-teil-1-in-welchem-es-vor-allem-erst-einmal-um-0-und-1-geht","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2019\/12\/chip-8-teil-1-in-welchem-es-vor-allem-erst-einmal-um-0-und-1-geht.htm","title":{"rendered":"CHIP-8 Teil 1, in welchem es vor allem erst einmal um 0 und 1 geht"},"content":{"rendered":"<div style='text-align:right;'><small>(<a href='https:\/\/www.herr-rau.de\/wordpress\/2019\/12\/chip-8-teil-1-in-welchem-es-vor-allem-erst-einmal-um-0-und-1-geht.htm#comments'>1 Kommentare.<\/a>)<\/small> <\/div>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/blog.bakera.de\/chip8.html\">Bei Marco habe ich vom CHIP-8 gelesen<\/a>. Das war eine Spezifikation aus dem Jahr 1978 f\u00fcr einen m\u00f6glichst simplen Computer, mit dem man dennoch Spiele programmieren k\u00f6nnen sollte. Und zwar solche einfachen Spiele: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"379\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_pong-700x379.png\" alt=\"\" class=\"wp-image-14524\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_pong-700x379.png 700w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_pong-300x162.png 300w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_pong-150x81.png 150w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_pong.png 963w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ob es physisch je einen CHIP-8-Computer gegeben hat, wei\u00df ich nicht; aber es gibt etliche virtuelle CHIP-8-Computer &#8211; das hei\u00dft, dass die in Wirklichkeit ein Programm auf einem beliebigen anderen Rechner sind (zum Beispiel mit Windows darauf), das so tut, als w\u00e4re es ein Computer. Auch Java funktioniert so, mit einem virtuellen Java-Rechner &#8211; dem Java-Programm ist es egal, ob es in Wirklichkeit unter Windows oder Linux oder IOS l\u00e4uft; tats\u00e4chlich l\u00e4uft es erst einmal auf einer virtuellen Java-Maschine. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also habe ich mir mal eine CHIP-8-Maschine f\u00fcr Windows 10 besorgt, und Programme daf\u00fcr (aber letztlich f\u00fcr jede andere CHIP8-Maschine eben auch, das ist ja der Vorteil). Ich habe mir das k\u00fcrzeste Programm herausgesucht, und das zeichnet einfach ein zuf\u00e4lliges Labyrinth auf den Bildschirm:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"379\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_maze-700x379.png\" alt=\"\" class=\"wp-image-14526\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_maze-700x379.png 700w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_maze-300x162.png 300w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_maze-150x81.png 150w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_maze.png 963w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Tats\u00e4chlich kannte ich dieses Programm von fr\u00fcher, es werden dabei nur zwei verschiedene Bausteine zuf\u00e4llig wiederholt, was dann ein Bild wie bei einem Labyrinth gibt. Die Programmdatei dazu hei\u00dft MAZE, und wenn ich sie mit einem Textbearbeitungsprogramm \u00f6ffne, sehe ich das:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"152\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_1.png\" alt=\"\" class=\"wp-image-14513\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_1.png 700w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_1-300x65.png 300w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_1-150x33.png 150w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wer schon mal eine .exe-Datei unter Windows mit einem Texteditor betrachtet hat, dem kommt das bekannt vor. Solche Dateien sind nicht dazu geeignet, mit einem Texteditor ge\u00f6ffnet zu werden. Der Grund: Jede Datei auf der Festplatte oder anderswo besteht  letztlich nur aus einem Haufen von 0ern und 1en. (Auch das ist zwar noch eine Abstraktion: <em>tats\u00e4chlich <\/em>ist das irgendwas fies Physikalisches, mit Schalterchen oder Transistoren oder Spannung, aber f\u00fcr mich sind 0er und 1en tief genug.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aus praktischen Gr\u00fcnden betrachtet man meist immer acht dieser <em>bits<\/em> auf einmal davon. Manche dieser Achter-Kombinationen entsprechen Buchstaben, das ist so eine Konvention, eben um \u00fcberhaupt mit Text arbeiten zu k\u00f6nnen. Wenn die Textdatei zum Beispiel mit &#8222;Hallo&#8220; beginnt, dann werden die ersten zwei Buchstaben vielleicht in Wirklichkeit als &#8222;\u202d0011 0000 \u202d0011 1101&#8220;  gespeichert sein &#8211; oder andersherum gesagt: Die Gruppe  \u202d0011 0000 entspricht einem &#8222;H&#8220;. Ich sage &#8222;vielleicht&#8220; deshalb, weil es auch hier verschiedene konkurrierende Codierungen gibt, etwa Windows-1252 und ASCII, bei denen jeweils die gleichen acht bits als unterschiedliche Zeichen interpetiert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als Folge von 0 und 1 sieht die vollst\u00e4ndige MAZE-Programmdatei so aus:<\/p>\n\n\n\n<code>10100010 00011110 11000010 00000001 00110010 00000001 10100010 00011010 11010000 00010100 01110000 00000100 00110000 01000000 00010010 00000000 01100000 00000000 01110001 00000100 00110001 00100000 00010010 00000000 00010010 00011000 10000000 01000000 00100000 00010000 00100000 01000000 10000000 00010000<\/code>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Kombinationen sind weder daf\u00fcr gedacht, als ASCII-Codierung verstanden zu werden noch als Windows-1252. Es sind einfach erst einmal nur Zahlen. Wenn ich sie mit Gewalt als Zeichen interpretieren will, kommt so Salat aus wie oben. Manchmal kommt so etwas auch aus dem Drucker, wenn ein Druckauftrag daneben gegangen ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Am besten betrachtet und bearbeitet man solche Dateien mit einem Hexeditor. Der zeigt einem quasi die 0er und 1en direkt, und nur am Rande nebenbei als Option eine m\u00f6gliche Interpretation als Zeichen.  Weil diese vielen 0er und 1en aber so un\u00fcbersichtlich sind, werden jeweils ein Achterblock (ein Byte) zusammengefasst als zweistellige Zahl im Hexadezimalsystem dargestellt. Das ist viel lesbarer und sieht dann so aus:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"213\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_hexeditor.png\" alt=\"\" class=\"wp-image-14547\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_hexeditor.png 700w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_hexeditor-300x91.png 300w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_hexeditor-150x46.png 150w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<code>A2 1E C2 01 32 01 A2 1A D0 14 70 04 30 40 12 00 60 00 71 04 31 20 12 00 12 18 80 40 20 10 20 40 80 10<\/code>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Man muss sich eigentlich nur merken, dass etwa A2 eine Abk\u00fcrzung f\u00fcr die Folge  10100010  ist.  (Wer neugierig ist, kann sich ja mal Bilddateien vom Format jpg oder bmp in einem Hexeditor anschauen und ausprobieren, was sich \u00e4ndert, wenn man ein paar Zahlen abwandelt.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie ensteht jetzt aus diesen 34 Hexadezimal-Paaren (oder 34 Byte oder 34 mal 8 Bit) das Labyrinth? Das kommt<a href=\"https:\/\/www.herr-rau.de\/wordpress\/2019\/12\/chip-8-teil-2-in-welchem-das-eigentliche-programm-vorgestellt-wird.htm\"> im n\u00e4chsten Blogeintrag.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(1 Kommentare.) Bei Marco habe ich vom CHIP-8 gelesen. Das war eine Spezifikation aus dem Jahr 1978 f\u00fcr einen m\u00f6glichst simplen Computer, mit dem man dennoch Spiele programmieren k\u00f6nnen sollte. Und zwar solche einfachen Spiele: Ob es physisch je einen CHIP-8-Computer gegeben hat, wei\u00df ich nicht; aber es gibt etliche virtuelle CHIP-8-Computer &#8211; das hei\u00dft, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":14547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[25],"tags":[227],"class_list":["post-14506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatik","tag-informatik"],"jetpack_featured_media_url":"https:\/\/www.herr-rau.de\/wordpress\/archiv\/chip8_hexeditor.png","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/14506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=14506"}],"version-history":[{"count":3,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/14506\/revisions"}],"predecessor-version":[{"id":14610,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/14506\/revisions\/14610"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media\/14547"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=14506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=14506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=14506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}