Breakout in zehn Zeilen (Atari) Basic…

Einer der letzten Artikel die ich hier im Blog zum Thema Basic im allgemeinen geschrieben habe, hat mich angefixt und es wieder einmal selbst zu versuchen….

Ausschlaggebend war der unter [1] thematisierte und verlinkte Vid- Cast. Es ging darum, auf einem C64, in Basic, einen kleine Ball über den Bildschirm hüpfen zu lassen. Motivation: 1 Zeile Basic muss genügen! Zum „Zeilen- Sparen“ wurde eine Technik angewandt, die meines Wissens ihren Ursprung in der erste Hälfte der 1980er Jahre hatte, nämlich der Ersatz von IF…THEN… Anweisungen durch „True/ False“ Logik. Wann dass das erste Mal so gemacht wurde, weis ich nicht.Aber, für mich handelt es sich dabei um einen ziemlich clevern Hack. Beispiel:

Aus :

If X<40 THEN X=X+1 

wird:

X=X+(X<40)

In einem früheren Blog Eintrag [2] habe ich mein Spiel Racer vorgestellt. dort habe ich die oben erwähnte Methode angewandt und auch gezeigt, wie ich das erste Mal auf diese Technik gestoßen bin, ohne die zu verstehen (das war im Handbuch zum Atari 600 XL, ein kleines Beispiel Listing, näheres dazu, wie gesagt, im verlinkte Blog Eintrag)

Mitten im Spiel….

0 GRAPHICS 2:PRINT #6;“ BrEaKoUt“:? „LAST SCORE:“;S:? „FIRE TO START“:SETCOLOR 0 ,9,9:SETCOLOR 4,0,13 1 POKE 755,0:SETCOLOR 2,0,13:S=STRIG(1):POKE 53278,1:IF S=1 THEN GOTO 1 2 GRAPHICS 0:POKE 755,0:PX=0:PY=10:L=1:X=5:Y=10:DX=1:DY=1:S=0:A=PEEK(88)+PEEK(89 )*256:FOR D=0 TO 21 STEP 3 3 POSITION 26,D:? “ „:NEXT D:SETCOLOR 2,0,0 4 POKE A+XO+YO*40,0:XO=X:YO=Y:X=X+DX*L:Y=Y+DY:S=S+(PEEK(A+X+Y*40)=89):R=RND(0)*1 0:POSITION 0,22:? #6;“SCORE:“;S 5 L=L+(PEEK(A+X+Y*40)=89 OR X<3 OR Y<2 OR Y>17)*(R>2):IF L=3 THEN L=1 6 DX=DX*((X>2 AND X<38)+(X>=38 OR X<=2)*-1)*(((PEEK(A+X+Y*40)=89)*-1)+(PEEK(A+X+ Y*40)=0)) 7 DY=DY*((Y>0 AND Y<20)+(Y>=20 OR Y<=0)*-1):POKE A+X+Y*40,84:PY=PY+(STICK(0)=7 A ND PY<20) 8 PY=PY-(STICK(0)=11 AND PY>1):POKE A+PX+PY*40,86:POKE A+PX+(PY+1)*40,86:POKE A+ PX+(PY-1)*40,86 9 POKE A+PX+(PY-2)*40,0:POKE A+PX+(PY+2)*40,0:IF X<3 AND (Y<(PY-2) OR Y>(PY+2)) THEN GOTO 0 10 GOTO 4

Atari Basic Programm Listing.

[1] Vid- Cast. C64 Basic, Ball- Demo

[2] Racer. Atari Basic Ten- Liner


8- Bit Show and Tell

Schöner Vid- Cast. Diverse Programme, vor allem für die 8- Bit Commodore Computer werden analysiert und detailliert beschrieben. Ein muss für jeden der immer noch in 6502- Assembler programmiert und die „Schönheit“ dieses Codes zu schätzen weis.

Zum Einstieg eignet sich diese Folge:

Commodore Basic, kompakter code mit Boolscher Algebra.

Ein einfaches Pong– ähnliches Spiel das ich seinerzeits aus dem Benutzer Handbuch meines Atari 600 XL Computers abgetippt habe, nutzte den Selben Trick des im Video besprochenen Demo Programms aus dem C64 Benutzerhandbuch. Es zeichnet einen kleinen Ball, der, begrentzt durch den Bildschirm, kreuz und quer durchs Bild springt.

Typisch für solche Programme is die Folgende Zeile Basic:

if x<width then x=x+1

Das lässt sich so abkürzen:

x=x+(x<width)

Wenn der Ausdruck in der Klammer wahr ist, dann entspricht das der 1 und der Ball bewegt sich weiter nach rechts.

Solche verkürtzten Ausdrücke lassen sich zeilenweise kombinieren. Das führt zu kürzeren Programmen.

Ein weiteresm ausführleriches Beipsiel kann man hier im Blog nachlesen:

Basic Ten Liner Contest 2020, mein eigener Beitrag, Ten Line Racer…

Atari 2600 Schach, Source Code

Die Verpackung der Atari 2600 Spiele Konsole zeigte, unter Anderem, die Abbildung eines Schach- Spielsteines, den Springer. Nun besagt die Legende, dass beklagt wurde, es gäbe ja überhaupt kein Schachspiel für diese Konsole und dass dies irreführend sei. Atari steuerte nach und Video Chess wurde programmiert und veröffentlicht.

Video Chess, Atari 2600

Das Bemerkenswerte an der Implemantation eines Schachhprogramms für diese Konsole ist, dass die Hardware Voraussetzunge denkbar ungeeignet dafür waren. Das fängt zunächst einmal damit an, dass nur eine begrenzte Anzahl bewegbarer Objekte unterstützt wurden und hört damit auf, dass der RAM- Speicher gerade einmal 128 Bytes fasste. Meines Erachstens die größte Hürde die es zu überwinden galt.

Ich habe das Spiel im Original in meiner Sammlung und habe es hier und da gespielt. Nun, ich bin wirklich ein miserabler Schachspieler und hatte gerade deswegen ein paar nette Spielrunden. Für den geübten dürfte das Programm eher ein langweiliger Gegner sein. Aber, immerhin, es spielt Schach.

Die Verpackung der Atari 2600 Konsole.

Der Code des Programms wurde nun diassembliert und kommentiert. OscarToledoG. hat in seinem Blog den Prozess des Reverse Egineerings beschrieben und den Sourche Code veröffenlicht. Neben Video Chess präsentiert er noch weitere Schachspiele für gängige Konsolen und Computer der späten 1970er und frühen 1980er Jahre.


Atari Basic, anpassen

Das Atari Basic wurde für die ersten Atari 400 und Atari 800 Computer auf Steckmodul geliefert. In den Rechnern der XL- Reihe war das Basic ROM auf der Platine fest verdrahtet. Dennoch, es gab pfiffige Erweiterungen dieser Sprache. Ich habe mich immer gefragt, wie kann man die Software im ROM ändern? Antwort: Im ROM schon mal überhaupt nicht, aber, wenn man das Binary aus dem ROM Bereich ins RAM hinüberkopiert, dort ändert, na dann, dann klappts.

Man verzeihe mir die Phrasen- Drescherei, aber, ein Bild, dass sagt nun einmal wirklich mehr als tausend Worte…

Der unter [1] verlinkte Source Code zeigt wie man das Atari Basic ins RAM kopiert, den READY- Prompt nach seinen Gunsten umbenennt und überdies hinaus auch noch zwischen der geänderten Version des Basic und der junfräulichen Variante, hin- und herschalten kann.

Auf den Trick bin ich durch einen Artikel aufmerksam geworden, der unter [2] verlinkt ist.

Viel Spass!

[1] Atari Basic patch, Source Code auf GitHub
[2] Goto10 Retrocomputing Blog, Change the Atari Basic Ready prompt.


Apple Lisa OS, Source Code…

Was lange währt….Bereits 2018 wurde bekannt gegeben, dass der Source Code für das Betriebssystem von Apple zur Freigabe geprüft wird. Initiator war das Computer History Museum (CHIM). Am 19. Januar 2023 hat das Museum bekannt gegeben, dass Apple der Veröffentlichung zugestimmt hat.

Apple Lisa, Fotografiert auf dem Vintage Computer Festival Berlin 2018. Bildquelle: Berthold Fritz

Der Ursprüngliche Post zum Thema findet sich hier im Blog.

Der Link zum Source Code ist auf der ofiziellen Seite des Computer History Museum veröffentlicht.


Microprozessor/ Mikrocomputer

Von der Dampfmaschine zum Mikrochip, so der Untertitel der vom ZDF und SWF gemeinsam produzierten Sendung (ausgestrahlt wurde die Sendung im Programm des SWR 3). Der Moderator ist ein alter Bekannter aus dem Telekolleg.

Nach dieser Sendung aus dem Jahr 1984 habe ich lange gesucht! Schritt für Schritt wird gezeigt, wie Computer funktionieren. Die monotone Stimme des Moderators stört dabei überhaupt nicht, sondern wirkt auf mich extrem beruhigend und unterstreicht die klare Struktur und die sehr gute didaktische Aufarbeitung des Lerninhaltes. Ein muss für interessierte.

Bis Folge 5 wird über Computer und deren Einsatzgebiete im allgemeinen berichtet. Eine Zeitreise in die erste Hälfte der 1980er Jahre. Wer seine nostalgische Stimmung befeuern möchte, bitte sehr! Ab Folge 6 wird Schritt für Schritt erklährt, wie ein Computer funktioniert.

Übersicht


Turbo Basic

In der Zeitschrift Happy Computer wurde in den 1980er Jahren Turbo Basic veröffentlicht. Ergänzt um den dazu passenden Compiler, etwas später, im Zusammenhang mit dem ersten Sonderheft der Happy Computer zu den Atari- 8Bit Rechnern. Den Source Code habe ich auf GitHub gefunden und hier verlinkt.

weiterlesen

Captain Crunch 1978

Ein seltenes Interview mit dem bekannten Phone Phreak/ Hacker aus den späten 1970er Jahren. Ergänzend dazu habe ich einen aktueller Vortrag, gehalten im Rahmen des Vintage Computer Festivals Berlin, 2015, hier verlinkt.

Vintage Computer Festival 2015

Dieser Beitrag wurde ursprünglich vom Chaos Computer Club unter media.ccc.de veröffentlicht.

Vintage Computer Festival 2015


Im Land der Abenteuer….

…oder, im Englischen Original: A Shortcut Through Adventureland. Nach dem Buch habe ich lange gesucht. Es enthält eine Sammlung von Lösungen für eine Reihe der in den 1980er Jahren populären Graphic Adventures. Ausdrücklich wird im Vorwort erwähnt, das reine Textabenteuer, wie etwa die der Firma Infocom, nicht berücksichtigt werden. Man müsse ja schließlich irgendwo eine Grenze ziehen….

weiterlesen

Wordstar

Eine der ganz frühen Textverarbeitungsprogramme. Der Macher – Rob Barnaby – berichtet während eines Besuches im DigiBarn Computer Museum über das Programm und das Computersystem auf dem es ursprünglich entwickelt wurde. Wobei, eigentlich war es ja für ein bestimmtes Betriebssystem bestimmt, namentlich CP/M. Letzteres diente dazu um Anwenderprogramme unabhängig von der Hardware zu machen.

weiterlesen