SimulationsRaum Rotating Header Image

BASIC

Lehre im Wintersemester 2014/15

Meine Lehrveranstaltungen fürs Wintersemester:

(mehr …)

Sharp MZ-800

In der unten genannten Großspende befinden sich auch zwei Sharp-Computer, Modell MZ-800. Einer davon ist für den Anschluss eines Diskettenlaufwerks vorbereitet. Das Laufwerk, eine Controllerkarte und einige Disketten waren auch Bestandteil der Spende. Ich habe das System gestern einmal zusammengebaut und getestet. Erfreulich war, dass alle Disketten noch voll funktionsfähig waren: Eine BASIC-Startdiskette, mehrere Disketten mit BASIC- und Maschinenspracheprogrammen (u.a. Spiele und Demos) sowie eine CP/M-Diskette.

Sharp MZ-800

Wie man auf dem Bild erkennt, ist noch weitere Peripherie (ein Datenrekorder, der bereits in den Rechner eingebaut wurde, eine RS-232-Karte und ein Vierfarb-Plotter, der noch unbenutzt ist) sowie Software auf Kassetten und umfangreiche Literatur dabei. In den Semesterferien werde ich mir dieses System einmal genauer ansehen.

Happy Birthday, BASIC!

Heute vor 50 Jahren – genauer: In der Nacht vom 30.04.1964 zum 01.05.1964 – erblickte die Programmiersprache BASIC das Licht der Welt. Ob es wirklich das folgende Programm war, das in jener Nacht gegen 4 Uhr als erstes erfolgreich durch den Compiler übersetzt und nach der Eingabe von RUN ausgeführt wurde, weiß ich nicht. Es ist allerdings das erste Programm, das sich im Manual der Version 1 von Dartmouth-BASIC findet:

Bildschirmfoto 2013-11-23 um 22.02.15Ich bin gespannt, wer und wo alles auf diesen runden Geburtstag reagiert (wird) und freue mich schon auf die Zukunft der Programmiersprache, die in den Retroszenen auf jeden Fall weiterleben wird! Mein Geburtstagsartikel auf Telepolis.

Retro BASIC

coming soon …

Retro-BASIC_Cover_klein

  • Crashkurs – BASIC auf den Punkt gebracht und mit Abstand betrachtet
  • Bumming – Ein historischer BASIC- Programmierwettbewerb
  • Rezensionen – BASIC-Handbücher von Homecomputern
  • Einzeiler – BASIC-Spiele und -Demos für verschiedene Systeme
  • Kreativer Missbrauch – One-Liner- Programmiertechniken in Sinclair-BASIC
  • BASIC Computer Games –Eine Sammlung früher Computerspiele
  • BASIC-Spiele und ihre Geschichte: »GULP!« – Kurzinterview mit Yoda Zhang / »4K BASIC Dash« – Kurzinterview mit Simon Stelling-de San Antonio
  • Integer BASIC – Apples erste Programmiersprache
  • Spaghetticoding für Fortgeschrittene – BASIC-Programme beschleunigen
  • 10 PRINT “Hello, BASIC world!” – BASIC heute
  • BASIC zum Mitnehmen – Meilensteine der Taschenrechnergeschichte
  • BASIC für die Kleinen – Ein BASIC-Compiler für Mikrocontroller
  • Das Hintervorletzte – »Ich hasse BASIC!« Ein Leserbrief, der Geschichte machte
  • CLOAD – Daten auf Platten. Die Retro-Schallfolie

Die Sonderausgabe wird Abonnenten geliefert, findet sich in ausgewählten Zeitschriftenläden oder kann portofrei online beim CSW-Verlag bestellt werden.

Lehre im Sommersemester 2014

  • BA Medienwissenschaft: Modul 1 (Einführung in die Medienwissenschaft)
    SE: Der gelbe Gefährte: Pac-Man als epistemisches Spiel(Zeug)
    Freitags, 10-12 Uhr, Signallabor (Raum 2.33)
  • MA: Projekt- und Praxismodul & BA: Modul VI (Projektmodul)
    SE: Signetics 2650 Programmierworkshop (2/4): Programmierung der Spielkonsole Interton VC-4000
    Donnerstags, 18-20 Uhr, Signallabor (Raum 2.33)
  • MA Medienwissenschaft: Modul 5 (Medienökonomie) und MA Kulturwissenschaft
    SE: Die Wissensökonomie des Museums – Exkursionen in die Berliner Museumslandschaft
    Dienstags, 14-16 Uhr, Signallabor (Raum 0.09)

Die Kursbeschreibungen:

(mehr …)

29 GOTO 50

Heute erscheint die 29. Ausgabe des RETRO-Magazins. Heftthema ist der anstehende 50. Geburtstag der Programmiersprache BASIC, zu dem ich zusammen mit Wolfgang Ernst einen programmatischen Essay beigesteuert habe. Außerdem habe ich ein Interview mit einem der beiden Erfinder der Sprache, Thomas. E. Kurtz, geführt. Andere Beiträge beschäftigen sich mit BASIC-Implementierungen auf unterschiedlicher Hardware, Spielen und Demos in BASIC, dem didaktischen Einsatz der Programmiersprache usw. Das Hardware-Thema fokussiert dieses mal den Mikroprozessor Signetics 2650 und enthält u.a. zwei Interviews – eines mit einem Spielentwickler, der in den frühen 1980ern für die Interton VC-4000 programmiert hat, ein anderes mit einem Lehrer, der bis 2009 2650-Einplatinencomputer in der Schule gebaut und programmiert hat. Darüber hinaus gibt es die gewohnten Rubriken, Spiele- und Hardware-Tests, Musikkritik und das Finale der Comic-Serie “BASIC-Boy”.

Erhältlich ist die RETRO portofrei im Shop des CSW-Verlags sowie im Zeitschriftenhandel.

Retro29-Cover

Inhalt:

NEWS:
Kalender
Kurzmeldungen
Ergebnisse der RETRO-Umfrage 2013
THEMA:
Interview mit Thomas E. Kurtz
Breakout-BASIC
Programmieren in BASIC – 10 Gründe, warum das heute noch interessant ist
Das KÖLN-Programm
Sophies BASIC
CBM .prg Studio
BASIC-Demos
BASIC-Spiele von Microsoft
B-Soft-Entertainment
BASIC auf Spielkonsolen
Die BASIC-Stamp
HARDWARE:
Die Ouya im Test
Synthcard für die Atari VCS/2600
Die Dreamcast wird 15
Hardware-Schwerpunkt: Der Signetics 2650 (Interviews und Artikel)
SOFTWARE:
20 Jahre Starfox
RPG-Schmiede Leipzig
Evergreen/Nevergreen: The Chaos Engine 1 & 2
Angespielt: Intelligenz I, ASCIIpOrtal, The Nomad Soul, Zippy the Porcupine, Janozik, Superfrog HD, Worm: Clan Wars, Hatchi, Block OUT, Tank Operations – European Campaign, Blinky goes up, Inescapable
RETROKULTUR:
Comic
Kolumne: Think Kilobyte!
Bücher: Game Studies: Eine Einführung, Eine wahnsinnige Liebe; Kunst, Code, Maschine (über die Demoscene), Classic Home Video Games 1-3
Film: c64-Trainingsvideo mit Jim Butterfield
Musik: Horse the Band, Captain Capa, GwEm & Counter Reset, Bondage Fairies
Brettspiel: Walk the Plank!

Mikroprofessioneller Clone

Heute hat mich ein großes Paket aus dem Hause Bryx erreicht, in welchem nicht nur die endlich reparierte Magnavox Odyssey (gleich mit Falschpolungsschutz versehen) und eine Philips G7400 (mit Video- und RGB-Mod) enthalten war, sondern auch ein original verpackter “Microprofessor II”-Computer:

IMG_2982

Der MPF-II ist der Nachfolger des legendären “Microprofessor”-Einplatinencomputers. Er hat allerdings nicht den Z80A, sondern einen MOS 6502-Mikroprozessor eingebaut – und das nicht ohne Grund: der MPF-II ist ein beinahe lupenreiner Apple-II-Clone, was man vor allem am BASIC merkt. Bis auf ein paar Betriebssystem-Adressen und eine softwaregenerierte Textdarstellung unterscheidet er sich nicht vom Apple-Vorbild. Interessant sind auch die Beigaben. Neben dem Netzteil und einem HF-Signalteiler (der Computer hat allerdings auch einen FBAS-Ausgang … wie der Apple II) gibt es parallele und serielle Schnittstellen und Anschlüsse für einen Datenrekorder.

Das wirklich umfangreiche Begleitmaterial besteht aus einem dicken BASIC-Handbuch, einem Hardware-Handbuch (in dem auch die Kommandos des Monitor-Programms erklärt sind, denn der MPF-II lässt sich natürlich auch in 6502-Assembler programmieren). Nett ist das mitgelieferte Diagnose-System “Micro-Nurse”, das auf Audiokassette vorliegt und sein eigenes Manual hat.

Verlaufsformen

Morgen halte ich ab 18 Uhr im Kolloquium “Medien, die wir meinen” einen Vortrag aus meine Forschungsprojekt:

Die Frage, ob und wie Medien die Wirklichkeiten ihrer Nutzer konstruieren ist, betrachtet man sie nicht bloß als soziologisches Problem, eine zentrale Frage jeder Medienepistemologie. Denn in der medialen Konstruktion von Wirklichkeit schreibt sich das Medium immer schon ein, weshalb die Analyse des Konstruktes immer auch eine Analyse des Mediums sein muss. Ausgehend von einer frühen sprachlichen Beschreibung eines physikalischen Vorganges aus der Kinetik (“Der springende Punkt”) durch Aristoteles wird über drei theoretische Scharniere (S. J. Schmidt, F. Kittler, C. Pias) ein Sprung in die zweite Hälfte des 20. Jahrhunderts unternommen, in welchem Analog- und Digitalcomputer mit der “Beschreibung” desselben physikalischen Vorgangs betraut wurden, diesen jedoch nicht mehr nur in (programmier)sprachliche Codes kleiden, sondern ihn ihren technischen Aprioris unterwerfen. Im Vortrag wird die unterschiedliche “Simulationstätigkeit” desselben physikalischen Vorgangs durch fünf Sprachen demonstriert: die menschliche Sprache, die analog-elektronische Schaltung (auf dem Telefunken RA-742), die Implementierungen in 68k-Assembler/C (auf dem Commodore Amiga), Locomotive BASIC (auf dem Amstrad CPC) und 6507-Assembler (auf der Atari VCS). Dabei wird en passant versucht zu zeigen, warum solche Demonstrationen stets in Echtzeit erfolgen müssen (und damit an ein “Medientheater” gebunden sind) und – im Hinblick auf ein laufendes Buchprojekt -, wie die jeweiligen Simulationen das Wissen um die Grenzen und Möglichkeiten des Computers in der “Retrospektive” nutzbar machen.
Dauer ca. 60 Minuten mit vier unterschiedlichen Simulationsdurchläufen in Echtzeit – danach: Diskussion

point

Exoten

In Vorbereitung für das nächste Semester und zum Ausbau meiner Sammlung habe ich heute drei Geräte zugeschickt bekommen:

IMG_2855

Eine “RCA Studio II”-Computerspiel-Konsole bon 1977 mit 3 Spielmodulen, Kabeln und Anleitungen

IMG_2856

Das BASIC-Modul für die Computerspiel-Konsole “Philips G-7400″ – dabei handelt es sich allerdings eher um einen eigenständigen Computer, der die Konsole lediglich als Peripherie benutzt. Nicht ganz auf dem Bild zu sehen ist das Anschlusskabel für einen Kassettenrecorder, mit dem man die geschriebenen Programme dann speicher kann.

IMG_2857

EIn “BBC Micro”, der zwar im Prinzip nichts besonderes ist (ein typischer 6502-basierter Homecomputer), bei dem allerdings die Zugaben interessant sind: Verbaut sind drei ROM-CHips, die die Programmiersprachen LISP, FORTH und COMAL enthalten.

LOAD “NUMMER2.DDR”

Heute, frisch aus dem Urlaub zurückgekehrt, finde ich zwei Exemplare des neuen LOAD-Magazins im Briefkasten. Neben vielen historischen Themen und interessanten Szeneberichten und Interviews enthält sie auch drei Beiträge von mir: zu Horst Völz’ Computer-Kunst-Buch (nebst Fraktal-BASIC-Programm zum Abtippen), zum 50. Geburtstag von ASCII und eine Übersicht, die zeigt, was vor 50, 40, 30 und 20 Jahren alles an Medientechnologien das Licht der Welt erblickt hat.

Die LOAD kann z. B. über die Webseite oder im CSW-Shop werden, ist gratis (Schutzgebühr: 3 Euro) und liegt natürlich auch auf der Classic Computing aus, die im September bei mir im Institut stattfindet (und natürlich ebenfalls im Heft beworben wird).

GAME CIRCUITS #8: BASIC Oneliner Games

Nächste Woche Samstag im Signallabor findet die 8. Runde der GAME CIRCUITS statt. Zudem ist das Signallabor (und natürlich die Veranstaltung) für die “Lange Nacht der Wissenschaft” geöffnet. Wir freuen uns auf viele Besucher! Infos gibt es auf u.g. Plakat oder bei Facebook.

gamecircuits8

»I program my home computer … Beam myself into the past«

Heute habe ich Earl C. Careys Buch “RETRO Game Programming unleashed for the Masses” bekommen:

Das Buch unternimmt nicht weniger, als die hardwarenahe Programmierung von Spielen auf vier verschiedenen Plattformen für Programmieranfänger(!) vorzustellen: Programmiert werden der Atari 800, Commodore 64, Apple II und TRS-80 CoCo. Vom Aufbau und Anschluss der Rechner über deren Hardware-Ausstattung, die unterschiedlichen Assembler-Dialekte und BASIC-Versionen, Grundlagen der Computergrafik aber auch die Geschichte der Firmen und Computerspiele bis hin zu dezidierten Programmiertechniken führen die Kapitel den Leser ins Thema ein. Höhepunkte bilden die Kapitel über den praktischen Umgang mit den Grafikmodi, Sprites, Soundeffekten und das Zusammenfügen aller Elemente zu einem Spiel.

Interessant scheint mir das Buch nicht nur für Leute, die wirklich Spiele auf diesen Plattformen programmieren wollen, sondern auch für diejenigen, die einen operativen Zugang zur Homecomputergeschichte suchen. Ich bin sehr gespannt und werde von meiner Lektüreerfahrung hier berichten …

Mein heutiger Ausflug zum Schockwellenreiter hat sich in mehrfacher Hinsicht gelohnt. Nicht nur habe ich einen netten Blogger kennengelernt, sondern auch eine stolze Menge alter Programmier-Bücher von ihm übernehmen können. Mein Dank noch einmal in diese Richtung – und vielleicht sehen wir uns ja bald mal wieder!

IF

Basics about BASIC

Die Programmiersprache BASIC bildet den Kern meines computerarchäologischen Forschungsprojektes. Demzufolge wächst meine Bibliothek in diese Richtung derzeit auch am schnellsten. Vier “Neu”zugänge habe ich im Laufe der vergangenen Woche verzeichnet:

Donald Alcock: Illustrating BASIC (A Simple Programming Language). Cambridge: Cambridge Univ. Press 1977.

Alcocks Buch ist vollständig handgeschrieben und geht die Didaktik problemorientiert an. Die Illiustrationen und Programmbeispiele scheinen sich an Kinder zu richten; umso erstaunlicher, dass das Buch in einem Universitätsverlag erschienen ist.

John G. Kemeny: Man and the Computer. New York: Charles Scribner’s sons 1972.

Kemeny, der zu den Miterfindern von BASIC gehört, erzählt hier die Geschichte der Programmiersprachenlehre am Dartmouth-College, wo BASIC 1964 erstmals implementiert wurde. Noch bevor David Ahl mit seinem Buch über “BASIC Computer Spiele” berühmt wird, wirft sich Kemeny hier schon für eine Nutzung des Computers als Spielmaschine in die Bresche.

Henry Mullish: A Basic Approach to BASIC. New York: John Wiley & Sons 1976.

Eine Empfehlung aus “10 PRINT”: Mullishs didaktisches Konzept versucht das Lernen einer Programmiersprache mit einer Fremdsprache zu vergleichen. Er stellt dabei sukzessive Vokabeln (Befehle), Phrasen (komplexere Funktionen) und Texte (Programme) vor.

John M. Nevison: The Little Book oaf BASIC Style. How to write a program you can read. Reading u.a.: Addison-Wesley 1982.

Der Untertitel verrät es bereits: Das Buch versucht sich dem Spaghetti-Code-Angriffen entgegen zu stellen und Programmierempfehlungen zu geben, bei denen der Programmierer nicht zuerst an die Maschine, sondern an einen potenziellen menschlichen Leser des Codes denken soll.

Game Circuit #7 & Game Circuit #8

Aufgrund der Semester- und Veranstaltungsplanung habe ich die Termine und Themen für die nächsten beiden Game-Circuit-Treffen bereits jetzt festgelegt:
Game Circuits #7 gamecircuits8

Retrocomputing im Direktkontakt

Wie bereits geschrieben, bin ich in diesem Jahr als Gastredner auf das 14. Vintage Computing Festival Europe nach München eingeladen. Die Webseite mit Informationen – unter anderem über meinen Vortrag – wird gerade aufgebaut. Zusätzlich bekomme ich einen Ausstellertisch, auf dem ich zwei meiner exotischeren Heimcomputer und die darauf am kommenden Freitag eingetippten BASIC-Spiele präsentieren werde.

Colon-Einführung

15 Jahre, nachdem Thomas E. Kurtz und John Kemeny 1964 am Dortmouth-College die Programmiersprache BASIC veröffentlicht hatten, gab es derartig viele Dialekte, die sich nicht nur im Befehlswortschatz, sondern oft auch in der Syntax unterschieden, dass man es teilweise mit ganz anderen Programmiersprachen zu tun hatte. Ein zentrales Anliegen der BASIC-Erfinder war der klare Programmaufbau, der u.a. dadurch unterstützt werden sollte, dass – wie beim Assembler – pro Zeile nur eine Programmanweisung zugelassen war.

Viele, die BASIC in den 1980er-Jahren kennengelernt haben, wurden indes mit Möglichkeiten konfrontiert, mehrere Anweisungen in einer Zeile unterzubringen. Zu deren Trennung wurde vor allem der Doppelpunkt benutzt. Gerüchten zufolge hat Microsoft diese – wie etliche andere – Neuerung in BASIC eingeführt, als sie 1975 ihr ALTAIR-BASIC veröffentlichten. Tatsächlich findet sich darin bereits der Doppelpunkt zur Trennung.

Auf der Suche nach einem Beleg dafür, dass das hier erstmals auftaucht, bin ich allerdings auf wesentlich frühere Dialekte gestoßen, die es ebenfalls zulassen, dass mehrere Befehle pro Zeile eingegeben werden können. Der Verdacht, dass es sich dabei um eine Veränderung für Minicomputer-BASIC-Dialekte handelt, hat sich letztlich bestätigt, wie ich aus einem Programmierhandbuch für das PDP-11-BASIC aus dem Jahre 1970 entnehmen konnte:

All BASIC statements and computations must be written on a single line; they cannot be continued onto a following line. However, more than one statement may be written on a single line when each statement after the first is preceded by a colon.

(Multiple statement lines are a special feature of PDP-11 BASIC.) For example:

10 INPUT A^B> C
is a single statement line, whereas

2 LET X=ll: PRINT X^Y-.Z: IF X=A THEM 10

is a multiple statement line containing three statements: LET, PRINT, and IF. Most statements may be used anywhere in a multiple state- ment line; exceptions are noted in the discussion of each statement.

Quelle: PDP-11-BASIC Programming Manual – Single User, Paper Tape Software, S. 2-1 (Hervorh. durch mich)

Spätere BASIC-Dialekte für die PDP-11 nutzten nicht nur Doppelpunkte, sondern Slashes und/oder Backslashes zur Befehlstrennung – etwa das RT-11-BASIC.

Was nun noch etwas mysteriös ist, ist die Frage, woher Gates und Allen auf die Idee gekommen sind, den Doppelpunkt zu übernehmen. Entstanden ist das ALTAIR-BASIC auf einer 8080-Emulation auf einer PDP-10. Für die PDP-10 scheint aber 1975 nach meiner ersten Suche kein BASIC-Dialekt mit Doppelpunkt-Befehlstrennung existiert zu haben. Hat sich 1975 in Harvard, wo die beiden BASIC entwickelt haben, ebenfalls eine PDP-11 befunden? Und warum haben die beiden diesen wesentlich schnelleren Rechner nicht für ihre Emulation benutzt?

7. Lange Nacht der Computerspiele

Am Samstag, den 4.5. findet an der HTWK Leipzig wieder eine lange Nacht der Computerspiele statt. Im vergangenen Jahr war ich dort und hielt einen Vortrag über Spieleingabegeräte. Auch dieses Jahr bin ich wieder mit einem Beitrag vertreten. Ich stelle einige Ergebnisse der letzten “Game Circuit”-Sitzung vor: Ich erzähle etwas über die Besonderheiten des BASIC-Abtipp-Spiels, bekomme eine Vitrine, in der typische Computerzeitschriften der 1970er- und 1980er-Jahre ausgestellt sind, und einen Tisch für drei Computer, auf denen abgetippte Spiele vorgeführt werden.

Weitere Infos: http://www.schreibfabrik.de/spielenacht.phpUnd: https://www.facebook.com/events/239947402806664/

LOAD “10 PRINT”

Gestern ist endlich mein gedrucktes Exemplar von Ian Bogosts und Nick Montforts Buch “10 PRINT CHR$(205.5+RND(1)); : GOTO 10” aus der Reihe “Software Studies” per Post gekommen … da entdecke ich, dass es das Buch auch als Download-PDF gibt. Nichtsdestotrotz ist natürlich die Verhandlung Themas auf und seine Rezeption von Papier etwas ganz anderes als vermittels eines PDFs. Darüber, in welches Beziehungsgeflecht Computer, Leser und Tipper angesichts eines ausgedruckten BASIC-Programms geraten, werde ich in Kürze beim Game Circuit #6 zu sprechen kommen.

Sit down & type in

Die 6. Runde der Game Circuits steht an! Am 8. Februar lade ich ab 17 Uhr ins Signallabor ein, um auf historischer 8-Bit-Hardware Computerspiele zu spielen und zu diskutieren.

Auf dem Programm stehen dieses mal von Amateuren in BASIC programmierte und in Computerzeitschriften veröffentlichte Spiele für verschiedene Homecomputer-Systeme. Nach einem Vortrag über die medienarchäologischen und -epistemologischen Perspektiven auf die Textsorte “Programmlisting” sind die Teilnehmer angehalten, in eines der zur Verfügung gestellten Systeme Listings mit einer maximalen Länge von 100 Zeilen einzutippen. Verschiedene Vorlagen aus zeitgenössischen Computerzeitschriften und -büchern werden dazu zur Auswahl gestellt. Der Nachvollzug dieser archaischen Eingabetätigkeit, bei der der Mensch zu einem Medium zwischen Papier und Maschine wird, soll einerseits die pragmatischen Aspekte der Textsorte “Programmlisting” veranschaulichen und andererseits die Funktionsweise von Spielesoftware als Code in Ansätzen erfahrbar machen. Mitzubringen sind eine leere Audiokassette und/oder eine 5,25- bzw. 3-Zoll-Diskette (letztere für diejenigen, die sich vorab schon für den Amstrad CPC 6128 als Plattform entscheiden möchte).

Weitere Infos zu Zeit und Ort finden sich auf dem Plakat:

gamecircuits6.