Archiv der Kategorie: Retroprogrammierung

Code Optimierung

Programmiert habe ich im letzten Jahr viel in Java mit Android Studio oder Eclipse. Weniger mit ATMASS II oder dem Assembler Editor . Aber, weil ich meinem Atari 800XL die Kommunikation mit meinem Handy (Android) beibringen möchte und neben der Hard- auch die entsprechende Software brauche, habe ich wieder damit begonnen mich mit der 6502 Maschinensprache zu beschäftigen.

Für den kleinen Atari brauche ich ein einfaches Terminal das Daten seriell sendet und empfängt. Begonnen habe ich mit einer Machbarkeits Studie zum Senden. Das Programm nimmt einen String und wandelt jeden Buchstaben in eine Binärzahl. Gesendet wird das LSB zuerst, zunächst auf den Bildschirm, später an die Ausgabe.

Screen Shot 2019-03-08 at 12.09.36 PM

Test- Code zum für das serielle Senden von Daten in 6502 Assembler. Es wird ein Byte geholt und acht mal nach rechts verschoben (lsr). Wenn Bit 0 gesetzt war, wander es in das Carry- Flag des 6502. Wenn es nicht gesetzt war, bleibt das Carry- Flag unberührt. Anschließend wird entsprechend dem Ergebnis entweder 0  oder 1 gesendet. Hier, zu Testzwecken,  an den Bildschirmspeicher (Die Adresse ist in der Speicherstelle 88 und 89 -low- byte/ high- byte – abgelegt).

Der Ausschnitt aus meine Code zeigt, wie sich durch geschicktes Ausnutzen der Tatsache, dass „ADC #0“ nur dann „null“ addiert, wenn das Carry- Flag nicht gesetzt ist. Ist es gesetzt, dann wird „null+Carry“, also „eins“ addiert.
Man beachte nun die auskommentierten Code- Zeilen, insgesamt fünf, die man einsparen kann.

 


Computer, ganz easy…….

The Register hat bereits 2016 bekannt gegeben, dass das Verlaghaus Usborne (Vereinigtes Königreich) seine in den 1980er Jahren veröffentlichen Lehrbücher zum Thema Computer online gestellt hat.

Die Links zum Download hat The Register hier veröffentlicht.

Direkt zu Usborne geht es hier.

Der Verlag wurde 1975 gegründet, das Angebot richtet sich vor allem an Kinder. Soweit ich weiss, wurden die Bücher zu Thema Computer seinerzeit auch in Deutschland veröfdentlicht. Der Verlag hat zu dem Thema seine Traririon fortgesetzt. Einen Eindruck über das aktuelle, deutschsprachige Angebot kann man sich da verschaffen:

Usborne Deutschland

Die Links habe ich zuletzt am 8.1.2019 getestet. Viel Spass!


Mark Williams (C)

Ende der 1980er Jahre bin ich in die 16- Bit Welt aufgestiegen und habe mir einen Atari 1040 ST zugelegt. Die Sprache C war damals en Vouge und ausserdem recht sexy, das neue Atari Basic, nett ausgedrückt, langsam….

Der Compiler meiner Wahl war das in Deutschland von Markt und Technik vertriebene Mark Williams C. Nicht etwa lange Recherchen führten mich zum Kauf des recht kostspieligen Produktes, sondern seine Verfügbarkeit in meiner Heimatstadt.

 

Mwclogo.svg

Logo, Mark Williams Company. Quelle: Wikipedia, Copyrighted free use

Keine GUI, eine Bash ähnliche Shell ist die Kommandozentrale des Compilers. So kam es, dass mein erstes getipptes Unix/ Linux Kommando „ls“ ungefähr zwischen 1989 und 1990 in der Konsole landete. Unmittelbar danach habe ich meine ersten Gehversuche mit dem (micro)Emacs gemacht. Man sollte denken das mein Jüngeres ich sich davon hätte abschrecken lassen. Schließlich hatte ich meinen 8- Bit Atari eingemottet und dachte mit der Maus wird alles besser. Wäre dem so gewesen, dann wäre auch meine Geschichte hier zu Ende. Im Gegenteil, es war Liebe auf den ersten Blick!

Screen Shot 2017-07-07 at 11.09.37 PM

Micro Shell – MSH

Screen Shot 2017-07-07 at 11.17.28 PM

ST- MicroEmacs

Screen Shot 2017-07-07 at 11.21.09 PM

Mark Williams ReSource Editor, der einzige GUI- Anteil im Paket. Ganz komfortabel die Benutzeroberfläche deiner App (sorry, .PRG) gestalten.

Ich werde diesen Artikel als Startpunkt für weitere, ausführliche recherchierte Fakten zum Mark Williams C nutzen. Bis hierhin erst einmal ein paar Dinge die ich bis jetzt gefunden, beziehungsweise eben nicht gefunden habe.

Da wäre zunächst einmal ein Funktionierendes Disk Image des Compiler’s. Gefunden habe ich das im AtariAge Forum, allerdings nicht vollständig. Die Shell und der Emacs laufen, der Compiler nicht:

Mark Williams C auf AtariAge (verlinkt am 7.7.2017)

Mein absoluter Wunsch und Traum, bis jetzt, wäre eine Original Ausgabe von Markt und Technik. Bis jetzt, blieb die Suche erfolglos.

Ein Ehemaliger angestellter der Mark Williams Company hat mit Erlaubnis seines ehemaligen Arbeitgebers den Source Code und einige Bücher der Firma online gestellt:

Mark Williams Company Sources, Stephen A. Ness  (verlinkt am 7.7.2017)

 

 


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:

 

 

 

 

 

 

 

 


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)