Archiv der Kategorie: 8-Bit

KWEST PD Library

Russ Campbell hat die Programm- Bibliothek der Kitchener/ Waterloo Eight Sixteen Thirty Two Atari Users Group in Ontario, Canada auf der Facebook Gruppe Atari 8-bit Computers veröffentlicht.

Die Dateigröße beträgt stolze 7 MB (ZIP- Archiv). Ich habe mir die Sammlung heute Abend heruntergeladen und „Stichproben“ genommen. Neben einer Interpretation des allseits bekannten Tetris finden sich weiter Adaptionen bekannter Titel, Star Trek beispielsweise.

Zum Download geht es hier
 

[1] Wikipedia: Kitchener, Ontario
[2] Fundstücke der KWEST im Netz: Meetup 1992.

Alle Links in diesem Artikel, zuletzt aufgerufen am 14.6.2019 

Werbeanzeigen

Parallele Datenübertragung

…über den Joystick Port des guten, alten Atari 800XL.

Hardware zur Datenübertragung zwischen den alten Atari 8Bit- Computern und aktueller Hardware gibt es schon zu genüge. Ich selbst nenne zum Beispiel das SIO2USB des ABBUC mein eigen. Aber, ich bin nun einmal ein kleiner Kontroll- Freak und möchte was eigenes machen. Hier erst einmal ein paar Gedanken zu Beginn meines kleinen Projektes:

Die Idee: Die Joystick- Ports des Atari können neben der Dateneingabe (über den namensgebenden Joystick- Port) auch auf Ausgabe geschaltet werden. Je Port können so 4 Datenleitungen, insgesamt also 8 Stück zur Ausgabe genutzt werden.

Scematic_Paralell_Interface

Blockschaltbild. 4 Daten- und 3 Kontrollleitungen der fertigen Schaltung.

Ich möchte die 4 Datenleitungen des Port A (die 4 Richtung- „Pins“ des Joysticks) zur Datenübertragung nutzen. Der Trigger (Feuerknopf)- Eingang ist eine Kontrollleitung über die der Empfänger signalisiert „Ich habe 4 Bits empfangen, sende mir die nächsten…“. Von Port B brauche ich zwei weitere Kontrollleitungen als Ausgabe. Leitung 1 signalisiert dem Empfänger, dass Daten anliegen: „bitte hole die ab“. Leitung 2 signalisiert dem Empfänger schließlich das die Datenübertragung beendet ist.

Scematic_1_Bit_Sender

Schaltplan: 1- Bit senden. Einfache Machbarkeits- Studie zum Bockschaltbild.

Daten und Kontrollleitungen werden mit einem Teenys 2.0 (Arduino) verbunden. Über den USB- Anschluss des Teensy  wird eine Serielle Verbindung aufgebaut der die mein Atari mit meine Mac kommuniziert.

 

Screen Shot 2019-04-13 at 1.09.16 AM

6502- Assembler Source Code (Atari Assembler Editor). Schaltet die LED in der Schaltung wechselnd an oder ab indem der Digital- In des Teenys 2.0 auf Low (=0=LED an) und High (=1=LED aus) gezogen wird. Die Software im Teenys gibt den Ein-/ Ausschaltbefehl an die LED.

 

 

 


int const LED_PIN=PIN_B0;
int const IN_PIN=PIN_B1;

void setup() {
pinMode(LED_PIN,OUTPUT);
digitalWrite(LED_PIN,LOW);
pinMode(IN_PIN,INPUT_PULLUP);
}

void loop() {

int pinState;
pinState=digitalRead(IN_PIN);
if (pinState==LOW)
digitalWrite(LED_PIN,HIGH);
else
digitalWrite(LED_PIN,LOW);

digitalWrite(LED_PIN,LOW);
Serial.println(pinState);
}

C- Source- Code in Arduino Studio. Wichtig: Wenn „Low“ gelesen wurde, dann heist das, dass der Atari eine ‚1‘ gesendet hat, die Leitung also auf High liegt.


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.

 


Mikrocomputer selbst gebaut

Das Buch habe ich mir Heute über Amazon eingekauft. Auf dieser Seite kann man es als PDF- bekommen. Viel Spass beim Löten.


Stella, neue Version veröffentlicht

Atari Age hat getwittert das der bekannte Atari 2600 Emulator Stella verbessert wurde.

Post auf Twitter (zuletzt abgerufen: 6.1.2019)

Atari 2600 JR. Bildquelle: Berthold Fritz.





Atari Disk- Formate, ein für alle mal…

… für mich! Eingehend beschrieben wurden die Formate der Atari Disketten und der DOS’e schon oft. Sei es in zeitgenössischen Büchern oder hier und da im WWW. Ausschlaggebend für mich diesen Artikel zu schreiben war, dass ich zwar viel über das Thema gelesen habe, bis jetzt aber nicht in der Lage war das ganze zusammenhängend, kurz und knackig wiederzugeben. Diesen Versuch will ich jetzt einmal wagen……

weiterlesen


Computronic

Die Zeitschrift Computronic wurde zwischen 1984 und 1987 vom Tronic Verlag herausgegeben. Sie enthielt vor allem Listings zum abtippen für die gängigen Computersysteme der Achziger Jahre. Berücksichtigt waren unter Anderem Atari, Apple ][, Spectrum ZX 81, Dragon 32, TI 99 und der C64.  Es finden sich aber auch Listings für Computersysteme die – aus meiner Sicht – nie weit verbreite waren und mit dem  Erscheine der Zeitschrift bereits zu den Exoten gezählt haben dürften. Darunter der Laser Vz 2001, Colour Genie und der PC 1500 (ein Pocket Computer der Firma Sharp). Mitte 1985 wurde das Magazin mit Der Zeitschrift Homecomputer zu Computronic + Homecomputer zusammengelegt.

Liftarn, Editing by: Bill Bertram (Pixel8) • CC BY-SA 2.0. Original Quelle: https://www.flickr.com/photos/liftarn/2894913418/


Es wurde hauptsächlich Spielelistings in Basic veröffentlicht. Ausnahmen waren ein Forth Kurs. Später Ausgaben enthielten auch Listings in Maschienensprache – die allseits beiliegen Zahlenkollonnen , bei denen Basic nur noch den Zweck erfüllte die Opcodes in den Speicher zu „poken“ (Zum Beispiel da: Masterblazer, Computronic/ Homecomputer 10/09 1987 Seite 48: Oliver Cyranka). Assembler Sorce Code Listings umfangreicher Spiele zu veröffentlichen war nicht üblich. Das wurde lediglich im Rahmen von Kursen gemacht oder wenn es sich um kleiner Utilitys handelte. Der Lerneffekt blieb also – trotz durchtippter Nächte – aus. Beim abtippen der Basic Listings blieb wenigstens hier und da etwas hängen, dass man für eigene Projekte gebrauchen konnte.

Internet Archive, Computronic (letzter Aufruf: 16.6.2018).