Monatsarchiv: März 2012

Microcontroller

Info’s zum „Propeller“ genannten Controller und weiteren Hardware Basteleien gibt es hier:

http://www.parallax.com/Store/Microcontrollers/PropellerKits/tabid/144/ProductID/382/List/1/Default.aspx?SortField=ProductName,ProductName

Eine kleine Einführung gibt es hier:

Hatte nie einen Lötkolben in der Hand, aber, es geht wohl auch ohne 🙂

Werbung

Rock

Rock wird ein „BDash“ Clone und ist mein erstes Programm in 6502 Maschinensprache seit rund 20 Jahren. Mein Gott, bin ich alt! 

Schaut noch nicht gut aus, aber, ich hab’s selber gemacht. Die Fertigstellung wird wohl noch etwas auf sich warten lassen. hier, exklusiv, die ersten bewegten Bilder:

Mercy!


MAC 65. Speicherplatz und erste Erfahrungen

Wow! Habe mich eben das erste Mal mit dem o.g. Assembler näher beschäftigt. Abgeschreckt hat mich bis jetzt der „Atari Basic“ ähnliche Editor, Zeilennummern orientiert, bäh….. Der Bildschirm orientierte Editor des Atmas II ist viel komfortabler, aber, der Speicherplatz……..

eins nach dem Anderen. Das wichtigste war für mich die Frage nach dem verfügbaren Speicher für den Objekt Code (das lauffähige Programm):

  • Ohne Dos
    $0900 (2304) bis $9c1f (39967) frei. Somit: Rund 37 kB
  • Mit Dos 2.5
    $1e6c (7276) bis  $9c1f (39967) frei. Somit: Rund 32 kB
  • Mit Sparta Dos 3.2
    $1a19 (6681) bis  $9c1f (39967) frei. Somit: Rund 33kB

Nun, ohne DOS macht die Arbeite keinen Sinn, ausser man möchte das ungefilterte Retro Feeling und  greift zur Kassette.

Spass beiseite, ob DOS 2.5 oder das elegantere Sparta DOS nimmt sich bezüglich des zur Verfügung stehenden Speicherplatzes nicht viel. In beiden Fällen bleibt der Source beim verlassen des Moduls ins DUP (…in die DOS Shell) erhalten. Großes Plus!

Das Eingangs beschriebene „Wow!“ ist der hohen Assemblier- Geschwindigkeit geschuldet. Irre!  Der komfortable Renumber- Befehl macht die Rückständige Zeilennummerierung erträglich.

Wieviel Speicher nimmt mir der Source? Nun ja, habe noch keinen Erfahrungswert. Das Verhältnis von Source zu erzeugtem Objekt Code dürfte aber günstiger als beim Atmas II ausfallen (vgl. hier). Grund: Der Atmas hält den Source als echten Text im Speicher und auf Diskette. Mit anderen Worten: 1000 Buchstaben= 1000 Byte (LDA #200 belegt 8 Byte, inklusive der Leerzeichen). Anders der Mac 65. Dort wird der Text bei der Eingabe, unmittelbar, syntaktisch geprüft und in sog. Token umgewandelt. Das heist: jedem Befehl ist ein eindeutiger Zahlenwert zugeordnet der diesen Identifiziert. Das spart Speicher. Wir werden sehen.


Chuck Peddle, Vater des 6502

Viel Arbeit, wenig Zeit zur Hobby- Pflege. Zum Podcast hören auf und vom Weg zur Arbeit reicht es aber allemal. 

Folge #123 des Retrobits Podcast’s enthält ein Interview mit der Eingangs genannten Persöhnlichkeit. Wir erfahren wie der 6502 entwickelt wurde und der Commodore Pet entstand. Alles aus erster Hand, vom Entwickler. Spannend!

Das Interview erstreckt sich über 3 Teile und besteht aus der eben erwähnten Folge #123 und weiter aus #125 und #127.

zum Download geht es hier (klick mich 🙂 )

Schon der erste Teil fördert interessantes zu Tage. Chuck spricht von „Time Sharing Systemen“, die Ingenieuren, Technikern und Studenten erstmals im großen Maßstab den Zugang zum Computer ermöglichten. Er selbst war Verfechter der sog. „Distributed Intelligence“ (steht nicht etwa im Zusammenhang mit „Artificial Intilligence“). Mitte der Sechziger Jahre des letzten Jahrhunderts dachte man, es währe wohl ganz nützlich nicht etwa über „dumme“ Terminals mit einem Großrechner in irgendeiner Universität zu komunizieren, sondern die Terminals selbst „“intelligent“ zu machen. Der Erste Schritt auf dem Weg zum Ziel war es, günstige, für die Massenproduktion taugliche, Mikroprozessoren zu entwickeln. Der 6502 erblickt das Licht der Welt…………….. Unbedingt reinhören Geschichte zum anfassen, aus erster Hand präsentiert.

 


Atmas II und der Speicherplatz……

Speicherbelegnung des ATMASII:

  • $0700 (1792) bis MEMLO vgl. 743 + 744 DOS immer ab $0700(1792)!

Der Assembler liegt zwischen:

  • $2800(10240) und $9AFF(39679) 29.439 BytesBelegt!

Zur freien Verfügung stehen:

  • $80(128) bis $85(133) 5 Bytes Zero Page
  • $A800 (43008) bis $BC3F (48191) 5.183 Bytes Frei
  • $4c00 (19456) bis $5FFF (24575) 5.119 Bytes Symboltabelle des Assemblers
Und, zu guter Letzt, die „Zero Page“. Zur freien Verfügung stehen:
  • $E0 – $FD (224 – 253)
    sollte das nicht reichen hätten wir noch:
  • $50 – $55 (80 – 85)

Das heißt, wir haben beim Programieren mit dem Atmas II in der Summe gerade mal 10,3 kB zur freien Verfügung. Frage: Was ist zwischen $9AFF (39679) – Ende Assembler – und $A800 (43008) – offizieller Beginn freier Speicher- los? Das wären dann immerhin nochmal 3,3 kB.


Assembler die Zweite….

Eine sehr nützliche Analyse bezüglich der Leistungsfähigkeit einiger bekannter Assembler für die Atari 8-Bit Computer steht hier : http://www.atarimagazines.com/v2n7/nightmare.html

Geschrieben aus der Perspektive  eines profesionellen Programmierers, welcher die Aufgabe hatte in kurzer Zeit ein Programm zu entwickeln, dass voraussichtlich 25kB Objektcode umfassen würde (sind ca. 200kB Quellcode, vgl. dazu: „Der ATMASII und der Speicherplatz“).

Sehe mich momentan vor die Herausforderung gestellt das der Quellcode für mein eigenes Projekt so groß wird, dass weder für den Text im Editor noch für den erzeugten Objektcode der Nötige Platz da ist. Ideal wäre ein Crossassembler für meinen Mac. Der erzeugte Objektcode könnte direkt auf einen „nackten“ Atari (d.h. kein DOS, kein Basic) direkt in’s RAM. Gibt es sowas?

Wie es ausschaut bleibt mir wohl nur noch übrig den Quelltext zu segmentieren und einen eigenen Treiber zu schreiben, der mir den erzeugten Objetcode wieder zusammen- „Link’t“. Ich schaue mir in dem Zusammenhang doch mal den „Atari Macro Assembler“ an (vgl. dazu den Beitrag „Assembler“ in diesem Blog).

 


Sparta DOS

Sehr gutes DOS für die Computer der Atari XL Familie. Unterstützt >64kB Systeme sowie exotische Hardware Erweiterungen. 

MS- Dos ähnliche Shell. Das Dateisystem unterstützt Ordner. Befehle können in Batch- Dateien zusammengefasst werden. Dazu kommt eine aktive community:

http://sdx.atari8.info/index.php?show=en_introduction