Monatsarchiv: August 2012

Touring the Boston Computer Museum (1983)

Diese Folge der „Computer Chronicles“ zeigt überraschendes. Ein Computer, Baujahr ’56, mit Bildschirm. Der Überraschungseffekt: Ein einfaches Labyrinth- Spielchen.


Atari Macro Assembler, Beispiel Sitzung

Es sind  zwei Disketten Laufwerke im Einsatz.

Der Source befindet sich auf Laufwerk 2 (D2:Debug)

Der Assembler, der Editor und das sog. „SYSTEXT“- File liegen auf D1:
(Das Systext File enthält eine Sammlung von Symbol Deffinitionen – Equates-. Kann beliebig erweitert werden und lässt sich Quelltext- übergreifend verwenden)

Der Objektcode wird ab $A800 lauffähig sein.

Vorteil des Aufwandes: Der Source wird nicht im RAM assembliert, d.h. in diesem Fall direkt nach $A800 geschrieben, sondern als Objektfile auf Disk abgelegt! Prima Sache!

Weiterführendes, hier im Blog:

Wer mehr zum Thema Assembler auf dem guten alten Atari 8-Bit erfahren möchte, der gibt im Suchfeld einfach „Assembler“ oder „6502“ ein. Das war’s.
Werbung

Programmier Sachen…. (6502, C und so…..)

Vom Wohnzimmer nach draußen in den Garten, nur mal kurz meine Buchhaltung erledigen, dann den Rechner zuklappen und in die Sonne liegen. Tja, bin  glatt abgedriftet im WWW. Ergebnis: Einige interessante Links :

Viel Spass beim ausprobieren 🙂


Atari Dos 2.x Objekt File Format

…Objekt Files werden oft auch als „Binär Files“ bezeichnet und lassen sich über die Dos Shell (Das DUP.SYS) über den Menübefehl „L“ laden und ausführen.

Haben wir uns schon einmal gefragt, woher die Laderoutine weiss, wo im Speicherbereich das Programm abgelegt und dann gestartet werden soll? Ja?

Jedes Objekt File beginnt so:

$FF, $FF   Immer!
Start Adresse  Low + High Byte
End Adresse Low + High Byte
Es folgen n (Endadresse – Startadresse +1) Datenbytes.

Das war’s

Wer sich für den Boot Sektor interessiert, der findet hier im Blog mehr.

Quelle: Atari Profibuch (ABBUC e.V. )

Viel Spass!


Diassemblieren….

…und wie man das auf dem Atari 8- Bit richtig macht. Einfach? Da braucht man doch nicht drüber nachdenken, Startadresse angeben und los geht’s? Was aber wenn ich die Startadresse gar nicht kenne?

Das kann zum Beispiel dann passieren, wenn ich weiss, dass ein bestimmtes Programm irgendwo auf einer Diskette liegt, ich aber nicht weiss wo nun der ausführbare Code und wo nur Datenmüll gespeichert wurde.

Tja, also doch, ein paar Gedanken sind angebracht. Folgendes Beispiel zeigt wo die Probleme anfangen:

Die Byte Folge

A9 A9 8D D0 D4

Übersetz, beginnend ab Byte 1 ergibt:

LDA #$A9
STA $D0D4

Übersetzt aber ab Byte 2:

LDA #$8D
???
BNE  *…..

Wir wissen:

Der Boot Sektor einer Atari Diskette beginnt immer mit 6 Bytes, die dem Betriebssystem sagen, was zu tun ist  (näheres dazu hier im Blog). Das könnte z.B. so ausschauen : 00 03 05 06 06 07. Auf die „07“ folgt ausführbarer Code. Dem Diassembler sollte man also mitteilen, dass der ausführbare Code ab Byte 7 beginnt, sonst macht das Ergebnis u.U. keine Sinn.