<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://c64mags.untergrund.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://c64mags.untergrund.net/wiki/index.php?action=history&amp;feed=atom&amp;title=DT_91_11</id>
		<title>DT 91 11 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://c64mags.untergrund.net/wiki/index.php?action=history&amp;feed=atom&amp;title=DT_91_11"/>
		<link rel="alternate" type="text/html" href="http://c64mags.untergrund.net/wiki/index.php?title=DT_91_11&amp;action=history"/>
		<updated>2026-05-16T11:16:25Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.0</generator>

	<entry>
		<id>http://c64mags.untergrund.net/wiki/index.php?title=DT_91_11&amp;diff=6075&amp;oldid=prev</id>
		<title>Nyquist at 20:28, 17 May 2011</title>
		<link rel="alternate" type="text/html" href="http://c64mags.untergrund.net/wiki/index.php?title=DT_91_11&amp;diff=6075&amp;oldid=prev"/>
				<updated>2011-05-17T20:28:23Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[http://translate.google.com/translate?hl=de&amp;amp;ie=UTF-8&amp;amp;sl=de&amp;amp;tl=en&amp;amp;u=http://c64mags.untergrund.net/wiki/index.php%3Ftitle%3DDT_91_11&amp;amp;prev=_t  English Translation]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Vom Bug zu Pong!&lt;br /&gt;
Vom Bug zu Pong!&lt;br /&gt;
&lt;br /&gt;
________________________________________&lt;br /&gt;
&lt;br /&gt;
Obwohl ich mich nie wirklich mit dem&lt;br /&gt;
C64er-Handbuch auseinander setzte,&lt;br /&gt;
verf&amp;amp;uuml;hrten mich die letzten langen&lt;br /&gt;
Wintern&amp;amp;auml;chte 2009/10 doch endlich dazu,&lt;br /&gt;
mich intensiver mit dem Handbuchinhalt&lt;br /&gt;
zu besch&amp;amp;auml;ftigen.&lt;br /&gt;
&lt;br /&gt;
Klar hatte ich als Kind auch die&lt;br /&gt;
Commodore-Ballons aufsteigen lassen,&lt;br /&gt;
doch verstanden hatte ich den Basic-Code&lt;br /&gt;
immer nur teilweise.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dass das Handbuch eigentlich gar nicht&lt;br /&gt;
mal so oberfl&amp;amp;auml;chlich geschrieben wurde,&lt;br /&gt;
war mir bis zum letzten Winter somit&lt;br /&gt;
&amp;amp;uuml;berhaupt nicht bewusst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Umso mehr war ich erstaunt, als ich&lt;br /&gt;
nach akribischer Lekt&amp;amp;uuml;re des&lt;br /&gt;
Commodore-Handbuches das kleine&lt;br /&gt;
Programm &amp;quot;Springender Ball&amp;quot; auf Seite 43&lt;br /&gt;
nachvollziehen und sogar Commodores&lt;br /&gt;
&amp;quot;Bug&amp;quot; korrigieren konnte!&lt;br /&gt;
&lt;br /&gt;
(Das Setzen des Semikolons in Zeile 25)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Nachdem ich die Geheimnisse der&lt;br /&gt;
Peek- und Poke-Befehle dann endlich&lt;br /&gt;
kennenlernen durfte und nun auch erfuhr,&lt;br /&gt;
was es mit den 1000 Zeichen des Bild-&lt;br /&gt;
schirmspeichers auf sich hat, wurde&lt;br /&gt;
schlie&amp;amp;szlig;lich auf Seite 65 das zuvor&lt;br /&gt;
Erlernte zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ein weiteres Springballspiel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dumm, dass der Ball jedoch so gar nicht&lt;br /&gt;
springen wollte, wie es die Programm-&lt;br /&gt;
beschreibung forderte...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Man mag es nicht glauben, doch auch&lt;br /&gt;
in diesem nur 12-zeiligen Code haben&lt;br /&gt;
sich gleich mehrere Fehler einge-&lt;br /&gt;
schlichen!&lt;br /&gt;
&lt;br /&gt;
Zum einen sollte der Zeilenbildwert in&lt;br /&gt;
den Zeilen 50, 55 und 70 von 39 auf 40&lt;br /&gt;
ver&amp;amp;auml;ndert werden.&lt;br /&gt;
&lt;br /&gt;
Zum anderen sind die Zeilen 50 und 55&lt;br /&gt;
zu tauschen.&lt;br /&gt;
&lt;br /&gt;
Dass die Fehler in meinem alten&lt;br /&gt;
&amp;quot;Ur-Handbuch&amp;quot; zu finden sind, mag&lt;br /&gt;
noch verst&amp;amp;auml;ndlich sein.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Doch selbst in meinem C64er-Handbuch&lt;br /&gt;
aus dem Jahre 91 (wei&amp;amp;szlig;er Umschlag mit&lt;br /&gt;
bunten Quadraten im oberen Drittel)&lt;br /&gt;
finden sich noch die Fehler!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun, wie dem auch sei. Inzwischen&lt;br /&gt;
hatte ich mich &amp;amp;uuml;ber die Fehlersuche&lt;br /&gt;
schon soweit vertraut gemacht mit dem&lt;br /&gt;
Code, dass ich zu experimentieren&lt;br /&gt;
begann.&lt;br /&gt;
&lt;br /&gt;
Ein Spiel, dachte ich mir, war es ja&lt;br /&gt;
eigentlich nicht, fehlte doch jede&lt;br /&gt;
externe Einflussnahme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Schlie&amp;amp;szlig;lich bl&amp;amp;auml;tterte ich ein wenig&lt;br /&gt;
im Anhang und stolperte &amp;amp;uuml;ber die&lt;br /&gt;
Abfrage der Joysticks.&lt;br /&gt;
&lt;br /&gt;
Mit meinem Wissen &amp;amp;uuml;ber die If...Then-&lt;br /&gt;
Anweisungen von Seite 38 programmierte&lt;br /&gt;
ich mir eine entsprechende Abfrage-&lt;br /&gt;
Routine und konnte nun ein Blockgra-&lt;br /&gt;
fikzeichen als Schl&amp;amp;auml;ger &amp;amp;uuml;ber den&lt;br /&gt;
Bildschirm gezielt wandern lassen.&lt;br /&gt;
&lt;br /&gt;
Zwar passierte jetzt immer noch nicht&lt;br /&gt;
viel, aber eine Kollisionsabfrage &amp;amp;uuml;ber&lt;br /&gt;
den Peek-Befehl war selbst f&amp;amp;uuml;r einen&lt;br /&gt;
absoluten Laien schnell programmiert&lt;br /&gt;
und f&amp;amp;uuml;hrte zu ersten wirklichen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Interaktionen.&lt;br /&gt;
&lt;br /&gt;
Die ganze Programmierspielerei begann&lt;br /&gt;
langsam so richtig Spa&amp;amp;szlig; zu machen und&lt;br /&gt;
selbst mich - als &amp;quot;Programmierlegasthe-&lt;br /&gt;
niker&amp;quot; - immer mehr zu begeistern.&lt;br /&gt;
&lt;br /&gt;
Hinzu kam, dass mich der &amp;quot;Spielablauf&amp;quot;&lt;br /&gt;
ein wenig an mein erstes Spielcomputer-&lt;br /&gt;
erlebnis erinnerte!&lt;br /&gt;
&lt;br /&gt;
Es war wohl gegen Ende der 70er Jahre,&lt;br /&gt;
als meine Eltern Post vom Versandhaus&lt;br /&gt;
Quelle bekamen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ich wei&amp;amp;szlig; nicht mehr, ob meine Eltern&lt;br /&gt;
mir nur einen meiner zahlreichen&lt;br /&gt;
Weihnachtsw&amp;amp;uuml;nsche erf&amp;amp;uuml;llten, oder ob&lt;br /&gt;
sich mein Vater - damals auch von einem&lt;br /&gt;
gewissen Hang zu technischen Neuig-&lt;br /&gt;
keiten beseelt - selbst eine Freude&lt;br /&gt;
machen wollte.&lt;br /&gt;
&lt;br /&gt;
Nun, wie dem auch sei. F&amp;amp;uuml;r die n&amp;amp;auml;chsten&lt;br /&gt;
Wochen fesselte mich die kleine&lt;br /&gt;
Universum-Spielkonsole schlie&amp;amp;szlig;lich&lt;br /&gt;
derart, dass der liebe Sohnemann nur&lt;br /&gt;
unter Protest den Fernsehapparat&lt;br /&gt;
freigab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Insbesondere ein Spiel zog mich&lt;br /&gt;
dabei neben Schie&amp;amp;szlig;en, Basketball,&lt;br /&gt;
Motocross und Co. besonders in seinen&lt;br /&gt;
Bann:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tennis bzw. Pong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ja, und nun erinnerte der springende&lt;br /&gt;
Ball und der Blockgrafikschl&amp;amp;auml;ger mich&lt;br /&gt;
an dieses kindliche Spielerlebnis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die &amp;amp;Auml;hnlichkeit mit Pong lie&amp;amp;szlig; sich&lt;br /&gt;
zudem schnell erh&amp;amp;ouml;hen, indem man&lt;br /&gt;
die Blockgrafik &amp;quot;Ball&amp;quot; durch&lt;br /&gt;
ein Rechteck ersetzte (Blick in den&lt;br /&gt;
Anhang E unter Bildschirm-Codes&lt;br /&gt;
reicht) und die Sprite-Grafik&lt;br /&gt;
lediglich f&amp;amp;uuml;r eine Spielfeldmarkierung&lt;br /&gt;
einsetzt (war eh das n&amp;amp;auml;chste Kapitel).&lt;br /&gt;
&lt;br /&gt;
Inzwischen hatte ich bereits einige&lt;br /&gt;
Stunden in den Code investiert, sodass&lt;br /&gt;
dieser immer mehr an L&amp;amp;auml;nge gewann.&lt;br /&gt;
&lt;br /&gt;
Um den &amp;amp;Uuml;berblick nicht zu verlieren,&lt;br /&gt;
ersteigerte ich mir f&amp;amp;uuml;r schlappe&lt;br /&gt;
1 Euro einen STAR SG-10C Drucker.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wahrscheinlich k&amp;amp;ouml;nnen es nur hart-&lt;br /&gt;
gesottene Retros nachvollziehen, aber&lt;br /&gt;
der Klang der Nadeln lie&amp;amp;szlig; mich recht&lt;br /&gt;
sentimental werden, da ich meinen ersten&lt;br /&gt;
Nadeldrucker just zur Weihnachtszeit&lt;br /&gt;
geschenkt bekam (1986: ein Star LC).&lt;br /&gt;
&lt;br /&gt;
Nun, soviel Jugend- bzw. Kindheits-&lt;br /&gt;
erinnerungen motivieren nat&amp;amp;uuml;rlich,&lt;br /&gt;
sodass ich mich mit den Geheimnissen&lt;br /&gt;
des SIDs vertraut machte.&lt;br /&gt;
&lt;br /&gt;
Auch finde ich hier, dass das Handbuch&lt;br /&gt;
mit dem Kapitel &amp;quot;Musik mit dem Commodore&lt;br /&gt;
64&amp;quot; sehr gut die Grundlagen vermitteln&lt;br /&gt;
kann.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Um wenigstens einigerma&amp;amp;szlig;en die typischen&lt;br /&gt;
Pong-Ger&amp;amp;auml;usche mit dem SID zu erzeugen,&lt;br /&gt;
bedurfte es zwar, mit den Klangeffekten&lt;br /&gt;
eine ganze Zeit lang zu experimentieren,&lt;br /&gt;
doch auch hier kam der Spa&amp;amp;szlig; nicht&lt;br /&gt;
zu kurz.&lt;br /&gt;
&lt;br /&gt;
Mittlerweile hatte sich allerdings&lt;br /&gt;
eine entscheidende Schw&amp;amp;auml;che der Basic-&lt;br /&gt;
Programmierung bemerkbar gemacht:&lt;br /&gt;
&lt;br /&gt;
Der Programmablauf wurde immer&lt;br /&gt;
langsamer!&lt;br /&gt;
&lt;br /&gt;
Abhilfe schaffte ein Weiterprogrammieren&lt;br /&gt;
auf dem VICE-Emulator, um meinen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3/4 Pong-Clone schlie&amp;amp;szlig;lich unter 200%&lt;br /&gt;
Maximum-Speed zu Ende zu programmieren.&lt;br /&gt;
&lt;br /&gt;
Dank dem Programm &amp;quot;Star Commander&amp;quot; und&lt;br /&gt;
einem eigens bei Protovision bestellten&lt;br /&gt;
Transfer-Kabel gelang auch schnell die&lt;br /&gt;
Konvertierung meiner Master-Diskette in&lt;br /&gt;
ein .d64-File, sodass der Punktez&amp;amp;auml;hler&lt;br /&gt;
und der 1-Player-Modus am PC fertig-&lt;br /&gt;
gestellt werden konnten.&lt;br /&gt;
&lt;br /&gt;
Den C64-Player im 1-Player-Modus hatte&lt;br /&gt;
ich im ersten Anlauf dummerweise so&lt;br /&gt;
programmiert, dass der Computer nicht&lt;br /&gt;
verlieren konnte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Erst eine Zufall-Routine, die sich an&lt;br /&gt;
das &amp;quot;W&amp;amp;uuml;rfelspiel&amp;quot; auf Seite 52 anlehnt,&lt;br /&gt;
l&amp;amp;auml;sst nun den Commodore Fehler machen...&lt;br /&gt;
&lt;br /&gt;
Allerdings muss ich gestehen, dass ich&lt;br /&gt;
einen Sieg im 1-Player-Modus bis heute&lt;br /&gt;
nicht geschafft habe. :-(&lt;br /&gt;
&lt;br /&gt;
Um das Programm schlie&amp;amp;szlig;lich auch&lt;br /&gt;
unter klassischen Bedingungen lauf-&lt;br /&gt;
f&amp;amp;auml;hig zu machen, habe ich den Code&lt;br /&gt;
zu guter Letzt compiliert und daf&amp;amp;uuml;r auch&lt;br /&gt;
ein einfaches Programm aus dem Jahre&lt;br /&gt;
1983 im Netz gefunden:&lt;br /&gt;
&lt;br /&gt;
C-64 Ultra Fast Basic Compiler (SEW)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pong! erhebt keinen Anspruch, ein&lt;br /&gt;
&amp;quot;echtes&amp;quot; Spiel zu sein, sondern&lt;br /&gt;
versteht sich als Spielerei am Rande,&lt;br /&gt;
um die ich f&amp;amp;uuml;r die DT einen Artikel&lt;br /&gt;
geschrieben habe.&lt;br /&gt;
&lt;br /&gt;
Sicherlich wird man beim Spielen noch&lt;br /&gt;
auf eine Reihe Bugs sto&amp;amp;szlig;en und vieles&lt;br /&gt;
h&amp;amp;auml;tte ggf. &amp;quot;eleganter&amp;quot; gel&amp;amp;ouml;st werden&lt;br /&gt;
k&amp;amp;ouml;nnen.&lt;br /&gt;
&lt;br /&gt;
Vielleicht motiviert aber meine kleine&lt;br /&gt;
Pong-Story den einen oder anderen&lt;br /&gt;
Programmier-Muffel dazu, selbst aktiv&lt;br /&gt;
zu werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Schlie&amp;amp;szlig;lich lebt unser Compi ja von&lt;br /&gt;
neuen Programmen. Auch, wenn sie nicht&lt;br /&gt;
in die Annalen der hohen Programmier-&lt;br /&gt;
kunst eingehen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                          Sky Observer _&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nyquist</name></author>	</entry>

	</feed>