Monatsarchiv: Juli 2012

Ein Assembler in 6502 Maschinensprache…..

….das alles und noch viel mehr bietet 6502.org.

Die Seite erreicht man über diesen Artikel hier im Blog oder direkt:

6502.org

Wer eine Sortierroutine, Zahlenkonverter oder fertige Programme im 6502 Assembler Source sucht, der findet da was er braucht. Ich schau‘ ab und an mal vorbei und bin immer wieder überrascht. Sehr viele interessante Sachen die Lust auf’s selber machen, ……machen 🙂

Mein Heutiger Favorit: Der kommentierte Source für einen 6502 Assembler. Das PDF Dokument findet sich auf der o.g. Seite unter:

http://6502.org/source/ (dort nach „Monitors, Assemblers, and Interpreters“ suchen und dem Link 2KSA folgen)

Weitere Highlight’s? Ja, aber bitte. Gebt doch einfach einmal „Schach“ als Suchbegriff hier im Blog ein. Es lohnt sich……

Viel Spass.

Advertisements

Mini VMac

Wem das Original auf eBay zu teuer ist, der Emulator tut es auch:

 

 

http://minivmac.sourceforge.net/doc/download.html


You are in a Cave…..

….twisty little passages. Ein Büchlein für die Liebhaber älterer Text- und Grafikadventures.

Mehr Info: http://nickm.com/twisty/

An approach to interactive fiction.
Nick Montfort.


Atari Macro Assembler, erste Schritte….

Im folgenden eine kleine Zusammenfassung meiner Erfahrungen mit dem Programmpaket. Eine sehr gute Beschreibung findet sich unter http://www.mixinc.net/atari/amac.htm. weitere Informationen zu gängigen Assemblern für die guten alten Atari 8-Bit gibt es hier im Blog. Wer den Suchtext „Assembler“ eingibt, der findet sicher mehr.

Los geht’s

Editor

Atari Macro Assembler Editor
Start Bildschirm

Herausragendes Merkmal – vermutlich einzigartig in der „Atari Welt“ – ist  das der Editor größere Datenmengen verkraftet als das RAM eigentlich zulassen würde! Mehr dazu, wenn ich es getestet habe.

läßt sich wie jeder andere bildschirmorientierte Editor – z.B. der ATMASII Editor – bedienen.

Befehle erteilt man über Kommandos im Klartext im Kommandozeilen Modus (START Taste drücken).

Source- Text zeichnet sich dadurch aus, dass er vor dem jew. Mnemonic/ Label oder der Direktive jew. immer ein Lehrzeichen enthält.

Komandozeile:

Kommando im Klartext eingeben und die START- Taste zum ausführen drücken.

Wichtige Kommandos sind:

EXIT
speichert den aktuellen Textbuffer und verlässt den Editor.

SB /Suchtext/
„Suchtext“ suchen.

Assembler

Atari Macro Assembler

Filename eingeben und der Assembler startet. Gibt’s Fehler, dann zurück in’s DOS, Editor aufrufen und Fehler suchen.

Nach dem Filenamen lassen sich zahlreiche Optionen angeben. Die wichtigsten sind:

Assembler Optionen:

S=SYSTEXT
Bespiel:   D1:TEST.SRC S=D2:SYSTEXT S=D2:MYEQU
Assembliert TEST.SRC und benutzt die „EQUATES“ in der auf D2 gespeicherten SYSTEXT Datei. Es können mehrere SYSTEXT Files mit beliebigen Namen verwendet werden (max. 40 Stück). Vorteil: Klar, wenn die Equates in einer eigenen Datei liegen,dann können die auch für mehr als ein Projekte verwendet werden.

O=$A800
Legt die Startadresse des durch den AMAC generierten Objekt- Files fest. Damit wird erreicht, dass das File von DOS aus mit dem „L“ Befehl (Menü gesteuerte DOS’es) geladen werden kann (Start i.d.R. automatisch).

Syntax

Etwas unkonventionell. Wer den „Assembler Editor“ bzw. „den Mac/ 65 kennt“, der wird umdenken müssen! Einstiegshilfe:

High und Low Byte:
LDA #BILD:L

lädt normalerweise BILD/256 in den Accu. Im AMAC schaut das so aus:
LDA #LOW BILD
LDA #HIGH BILD

Operatoren fügt man so ein:
LDA #LOW [BILD+30]
LDA #HIGH [BILD+30]

 

 

 

 


Linux

Interessante Doku zu Linux:

Viel Spass.


Cross Assembler….

Habe leider noch keinen für meinen Mac gefunden. Ich wünsche mir einen für den 6502……

Eine vielversprechende Seite ist: http://www.npsnet.com/danf/cbm/cross-development.html#Assemblers

Speziell für die Atari Gemeinde gibt es den „MAD“ Assembler („MADS“), ein Produkt aus Polen: http://mads.atari8.info/
Ursprünglich wohl für PC geschrieben.

 


Locate wird schneller…

Determinismus in Assembler 🙂

„LOCATE“ nimmt eine Schlüsselstellung innerhalb des Source von Rock ein. Die Subroutine berechnet in Abhängigkeit von der vorgegebenen X und Y Bildschirmkoordinate die Adresse im Bildspeicher um von dort entweder zu lesen oder dorthin zu schreiben.

Die erste Version tat dies, indem eine Schleife durchlaufen wurde – von 0 bis Y – und dabei die Adresse um jew. die Spalzenzahl erhöht wurde. Am Schluss wurde noch X dazu addiert und fertig.

Ohne Schleife geht’s auch und das sogar viel schneller. Die Zeilenadressen werden einfach in einer Tabelle abgelegt, dann wird es möglich, ohne Schleife, die jew. Adresse direkt aus der Tabelle gelesen. fertig:

 

Das Spielchen läuft nun flüssiger!