Archiv der Kategorie: Retroprogrammierung

Stephen Lawrow

….hat den Mac/65 Assembler für die Atari 8-Bit Computer programmiert.

Auf ANTIC the Atari 8-bit Podcast (letzter Aufruf: 17.3.2016) ist nun ein Interview mit Stephen erschienen. Einige der Dinge die ich im Rahmen meines Vortrages  zum  Thema Assembler im allgemeinen und den MAC/65 im speziellen angesprochen habe, werden durch den Programmierer im Interview bestätigt. Unter Anderem geht es um den Vergleich des weitgehend zu  MAC/65 kompatiblen Atari Assembler Editor Moduls bezüglich der Geschwindigkeit beim Assemblieren und warum der erstgenannte schneller ist (Stichwort: Pre Compiler und Speicherung des Quelltextes – ähnlich dem Atari Basic – als Tokens).

in meinem Blog habe ich bereits einiges zum  Thema Assembler und der 6502 Assembler Sprache veröffentlicht. Eine kleine Auswahl findet sich hier:

 

 

 

 

 

 

 

 

Advertisements

Effekt Hascherei…

…ist durchaus eine positive Eigenschaft unter Spiele- oder Demo Codern.

Wer auf modernen Maschinen ein Spielchen schreibt und etwa einen animierten Titel möchte, der gestaltet den mit dem Zeichenprogramm und diversen anderen Tools zur Animation. Das war es.

Früher, auf den 8- Bit Maschinen, wurde dasselbe, quasi von Hand, in Stein gemeißelt, möchte sagen, mühsam programmiert.

Zur Zeit habe ich dazu einige eigene Sachen, im Selbstversuch für die Atari 8- Bit Computer geschrieben, nur so, um mal zu sehen ob ich den technischen Hintergrund einiger der bekannteren Effekte verstanden habe.

Das Video zeigt wie sich mit Hilfe des Display- List Interrupts auf dem Atari mehrfarbige, bewegte Objekte darstellen lassen.

Dieses Video zeigt, wie sich auf dem Atari ein – wie ich es nenne –  Curtain Effect realisieren lässt.


Bored of Floppy

Horizontales fein- Scrolling. Ein Mysterium, für mich, auf dem kleinen Atari. Bis Jetzt. 

Sicher, das Prinzip war klar. Nur das ganze in Code – 6502 Assembler – zu fassen, das habe ich mich noch nicht getraut. Damit es etwas spannender wird als eine einfache Machbarkeitsstudie, die irgendwelche Zeichen aus den Tiefen des Atari OS über den Bildschirm scrollt, habe ich mich dazu entschieden ein berühmt berüchtigtes Spielprinzip zu kopieren.

Bored of Floppy, Atari 8- Bit.

Bored of Floppy, Atari 8- Bit.

Das Spielchen darf man sich von meinem repository herunterladen, inklusive Source Code.

GitHub, Bored of Floppy

 

 


Zeichensätze….

…für die Atari 8- Bit Computer.

Wer Talent hat kann sich die selber zeichnen. Wer das nicht kann, der bekommt fertige Zeichensätze bei Atari ONLINE.PL unter dem Folgenden Link:

Zeichensätze (23.8.2014) 


Anatomy of a Bird

Kaum ein System, auf das es der muntere Vogel mit dem nervösen Feuerknopf nicht geschafft hätte. Ich erspare dem geneigten Leser die Einzelheiten. Aber, wie funktioniert es, das Spiel, technisch?

Das Spielfeld scrollt endlos von links nach rechts. Nun ist das Spielfeld nichts anderes als das, was der jeweilige Rechner vom RAM auf dem Bildschirm anzeigt und das ist mit Sicherheit nicht endlos.

Also, ich nehme einmal an, es wird eine endlich Anzahl Spielebildschirme gescrollt und irgendwann, ohne das es der Spieler merkt, wird ein neues Spielfeld gezeichnet und das ganze beginnt vorn vorne.

Selber machen ist das Gebot der Stunde. In Assembler auf dem Atari 8- bit. Nachstehend, kurz skizziert, wie der Antic der Atari Rechner das Anzeigegerät verwaltet, wenn er davon ausgehend muss, dass der Programmierer jetzt von ihm wünscht, dass er horizontal fein- scrollen soll. Ein Custom Chip erster Güte und Stunde, der seinesgleichen unter zeitgenössischen 8- Bit Rechnern sucht.

 

Floppy Screen Ram and Fine Scroll

 

To be continued…………

 

 


Shift – Escape – Restore zum nachlesen

Shift – Escape – Restore ist der Name eine Vortragsreihe die im Sommer 2012 an der Berliner Humbolt Universität stattgefunden hat. 

Mehr als einem Duzend Retro- Aktivisten wurde hier die Möglichkeit geboten, ihre Projekte Vorzustellen.

Retro möchte dabei  nicht als der verklärende Blick in die Vergangenheit verstanden werden, sondern als die aktive Beschäftigung mit alter Hard- und Software als Mittel zum Verständnis der modernen Medienwelt, auch zum Zweck der Kritischen Auseinandersetzung mit derselben.  So zumindest habe ich die Motivation der meisten Teilnehmer aufgefasst. Manch einer mag aber auch nur deshalb aktiv sein, weil es schlicht und einfach Spass macht etwas neues zu entdecken.

image

Letzteres nun war für mich der Ausgangspunkt mich selbst einmal mit dem Thema auseinanderzusetzen.

Das Ergebnis kann im aus der Vortragsreihe entstandenen Buch aus dem CSW- Verlag nachgelesen werden, in dem ich ein Kapitel mitgestalten durfte.

Ich erkläre am Beispiel eines simplen Computerspieles für den Atari 8- Bit Computer, dass ich in 6502- Maschinensprache geschrieben habe, wie die Vorgänger der heutigen App- Macher vor knapp 30 Jahren gearbeitet haben, welche Software Tools zu Verfügung standen und wieviel Spass es mir gemacht hat mich nach einer Zeit der Abstinenz wieder kreativ mit dem Medium Computer auseinanderzusetzen.

Das Buch kann direkt beim Verlag vorbestellt werden:
CSW Verlag, Shift – Restore – Escape

Mehr zu dem Projekt aus dem der Vortrag und schließlich der Artikel entstanden sind, kann man hier im Blog nachlesen:
Projekt Rock

Und last, but not least, hier gibt es das Video zum Vortrag selbst:

 

 

 

 


Plot Routine, ein Geschwindigkeitsvergleich

Im Basic Grafik- Modus 7 des Atari 8- Bit soll an beliebiger Stelle ein Bildpunkt ein/ ausgeschaltet werden. Vergleichbar mit dem Plot- Befehl des Atari Basic.

Die Routine die das tut, soll in 6502- Assembler laufen. Farbe und X- sowie die Y Koordinate werden an das Programm übergeben. Aus den Koordinaten muss nun die Adresse des Bytes im Bildspeicher berechnet werden, in dem sich das gesuchte Bit – der Bildpunkt/ das Pixel – befindet. Schließlich wird das Bit und damit der Bildpunkt gesetzt.

In der Grafikstufe 7 besteht eine Zeile auf 160 Bildpunkten und belegt 40 Bytes. Aus der Y- Koordinate ergibt sich die Zeilenadresse indem man die mit der Anzahl der Bytes multipliziert. Je Größer Y, desto mehr Zeit vergeht, bis die Zeilenadresse berechnet ist. Film 1 zeigt die Variante der Routine, die für jeden Bildpunkt die Zeilenadresse immer wieder neu berechnet.


Film 1

Film 2 zeigt eine Variante bei der die Zeilenadressen einmal berechnet und dann in einer Tabelle abgelegt wurden. Das Ergebnis: Es geht schneller.


Film 2

Ganz ähnlich habe ich das im Rahmen eines Spiels verwirklicht. Auch hier wurde es vermeiden, dass Selbe zu wiederholen, sondern, zeitaufwendiges wurde nur einmal gemacht und die benötigten Ergebnisse in einer Tabelle abgelegt von wie die dann nur noch abgeholt werden müssen. Näheres dazu da: Rock, Determinismus in Assembler

Viel Spass!