Forum: Projekte & Code AX81 - ZX81 im AVR


von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hallo,

in der "Reihe" der AVR Computer gibt es ein neues Mitglied, den AX81. 
Geschrieben in ASM emuliert er einen ZX81 (Z80 und restliche Hardware) 
und ist bei einem 20MHz AVR etwas schneller als das Original.

http://www.jcwolfram.de/projekte/avr/ax81/main.php

Die Hardware ist identisch mit der vom AVR-BASIC-Computer, als 
Controller können ATMega644, ATMega644P und ATMega1284P genutzt werden, 
wobei nur die beiden letzteren VGA-Signal ausgeben können. Als 
Datenspeicher können sowohl Atmel Dataflash als auch SD-Karten verwendet 
werden. Dabei kommt ein Tape-orientiertes "Dateisystem" zum Einsatz, bei 
dem die Programme einfach jeweils 16K hintereinander auf dem Medium 
belegen. Dadurch ist das Dateisystem leider nicht zum ChipBasic2 
Dateisystem kompatibel.
Für SD-Karten gibt es Perl-Scripte mit denen sich Dateien einfach auf 
SD-Karte lesen und schreiben können. Alternativ gibt es noch einen 
"Bootloader" über die serielle Schnittstelle, über den Programme per 
X-Modem Transfer auf das Medium übertragen werden können.

Auch habe ich angefangen Programme, die ich im Internet finden konnte 
auf Funktion zu testen und mit zum Download bereitzustellen.

Viel Spaß damit
Gruß Jörg

von Rene B. (themason) Benutzerseite


Lesenswert?

Wieder einmal genial :-)

Ein ZX81 auf einem AVR laufen lassen und dabei schneller sein ...
Ich zitiere : "Ihr wahnsinngen ... ihr habt es schon wieder getan" :-)

Aber nur weiter so. Echt klasse :-)

von Olaf (Gast)


Lesenswert?

> Wieder einmal genial :-)

Naja, vermutlich ganz einfach. Schliess wird man noch nichtmal exterenes 
Ram brauchen um die 1k eines ZX81 zu simulieren oder? :-D

Aber man muss auch die Tastatur und diesen Brutzeldrucker simulieren 
wenn man Haptik und Olfaktorik der 80er erneut geniessen will.

Olaf

von Kantor (Gast)


Lesenswert?

Auf deiner Seite gibts nur ne Fehlermeldung: "Closed Systems are not 
supported"?

von Rene B. (themason) Benutzerseite


Lesenswert?

>Schliess wird man noch nichtmal exterenes
>Ram brauchen um die 1k eines ZX81 zu simulieren oder? :-D

:-))
Da haste wohl recht.
Aber dennoch ne stolze Leistung nen Z80 nebst 
Grafikausgabe/Verwaltung/PS/2 Tastatur auf nem AVR so laufen lassen das 
er schneller ist als das Original. Das nenn ich echt ne Leistung :-)

>Aber man muss auch die Tastatur und diesen Brutzeldrucker simulieren
>wenn man Haptik und Olfaktorik der 80er erneut geniessen will.

Lässt sich bestimmt auch dran-tackern :-)

von Ronny M. (hobby-coder)


Lesenswert?

wird es evtl. demnächst platinen/ bausätze zum ax81 board...?

von Joerg W. (joergwolfram)


Lesenswert?

Naja, ganz so simpel ist es nicht ;-)
Der ZX81 hat ja auch noch 8K ROM und sowohl ROM als auch RAM tauchen 
mehrfach in den 64K Adressraum auf. Gelöst habe ich das mit einer 
Memory-Map Tabelle, wo ich 256-Byte-weise den Z80 Adressraum auf AVR 
Flash oder AVR-Ram mappe. Leider bekommt am auf diese Weise keine 16K 
sondern nur 15,75K, da der AVR selbst auch noch etwas RAM braucht.

@Kantor
Kann es sein ,dass Du mit einem iPAD versucht hast die Seite aufzurufen?
Derarige geschlossenen Systeme sind für mich unvereinbar mit open Source 
und deswegen möchte ich so etwas auch nicht unterstützen.


@Ronny
Geplant ist so etwas derzeit nicht, da ich selbt dafür die ChipBasic 
Hardware
mit dem Uni-Anschluss nutze. Für VGA braucht es dann einfach noch einen 
Adapter mit R,G,B,HSYNC und VSYNC von 9-polig (UNI) auf 15-polig (VGA).

Gruß Jörg

von chris (Gast)


Lesenswert?

Super, hatte früher auch mal einen ZX81.

Alle Achtung vor Deiner Leistung !

von Kantor (Gast)


Lesenswert?

Joerg Wolfram schrieb:
> Kann es sein ,dass Du mit einem iPAD versucht hast die Seite aufzurufen?
> Derarige geschlossenen Systeme sind für mich unvereinbar mit open Source
> und deswegen möchte ich so etwas auch nicht unterstützen.

Hmm, ich dachte die Open-Source-Gemeinde wäre etwas toleranter. So nach 
dem Motto: "Jeder soll so leben, wie es ihm gefällt."

Naja, wie auch immer:
Es ist deine Seite, wenn du keine schwarzen, weißen, deutschen, 
ausländer, schlipsträger, ipdadbenutzer oder sonstwen auf deine Seite 
lassen willst ist das deine Sache. Ich muss mir deine Seite nicht antun.

Es handelt sich also um die klassische Win-Win-Situation:

- Du willst mir deine Seite nicht zeigen
- Ich lege keinen Wert darauf, die Seite eines intoleranten [ZENSIERT] 
zu besuchen.

Haben wir also beide was davon...

von Umpa Lumpa (Gast)


Lesenswert?

Ich habe den ZX81 immer noch und er funktioniert.

von Jan (Gast)


Lesenswert?

Großartiges Projekt.
Der ZX81 war damals mein erster Rechner. Kaum zu Glauben, das das alles 
heutzutage in einen AVR passt.

OT: Fürs iPad gibt's doch auch jede Menge Opensource Projekte. Warum 
sprichst du da von einem geschlossenen System?

von Peter Sieg (Gast)


Angehängte Dateien:

Lesenswert?

@Jörg: Super!

Möchte mir den AX81 auf LR aufbauen in einzelnen Schritten:
1. 1284p +5V 20MHz Quarz+2x22pf und BAS (1k+1k8+3k3). Damit sollte ich 
dann
schon mal eine Einschaltmeldung erhalten an einem VIDEO Monitor.
2. PS/2 Tastaturanschluß. Damit wäre der ZX81 quasi schon vollständig 
und bedienbar. Nur kein Massenspeicher..
3. Anschluß SD Card.

Schaltung würde ich so wie beim ChipBasic2 BAS Version aufbauen wollen 
(siehe Bild) - ok? Welche HEX Datei muss ich aus dem Download Paket 
nehmen?
Und wie sind die Fuses für 1284P zu setzen?

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

die 1K8 und 3K3 solltest Du weglassen, da die dazugehörigen Portpins als 
Eingang geschaltet sind. Alternativ kann man PORTC.5, PORTC.6 und 
PORTC.7 bei bestehenden ChipBasic Boards brücken.

Die Fuses müssten beim Mega666, 644P und Mega1284P gleich sein, also:

FUSE LOW  =  0xe6
FUSE HIGH  =  0xd1
FUSE EXT  =  0xfc

Die Dokumentation der Hexfile-Bezeichnungen muss ich wohl noch etwas 
überarbeiten. Außerdem haben ein paar Varianten leider falsche 
Bezeichnungen, da muss ich noch etwas an meinem Build-system
ändern. Z.B. liegt bei allen Varianten mit VGA output der Bootloader 
Output Pin bei PORTB.2 und nicht bei PORTD.4, da dort bei VGA der 
Pixeltakt rauskommt. Ebenso geht dort nicht PORTD.3 als Bootloader Input 
Pin.

Die Bezeichnung der Hexfiles schlüsselt sich folgendermaßen auf:

ax81_[controllertyp]_[videosystem]_[storage_system]_[bootloader_pins].he 
x

controllertyp
-------------
m644  ATMega644
m644p  ATMega644P
m1284p  ATMega1284P

video_system
-----------
t-l  nur TV TV(PORTC.7) und LCD (PORTA)
tvl  VGA (PORTD.3), TV(PORTC.7) und LCD (PORTA)

storage_system
---------------
df  Dataflash (AT45DB041D oder AT45DB081D)
sd  SD-Karte, RAW Sektoren ab Sektor 0

bootloader_pins
---------------
pd3pd4  originale ChipBasic2 Hardware
pd1pd4  modifizierte Hardware, um VGA zu ermöglichen

also wäre ax81_m1284p_xxx_xxx.hex das richtige Hexfile für Dich.

Inzwischen habe ich auch angefangen, ein erweitertes SD-Filesystem zu 
schreiben. Dabei liegen die Tapes als Dateien hintereinander in einem 
mehr oder weniger beliebigen Dateisystem. Damit sollten dann auch 
Windows-Computer besser klar kommen. Allerdings müsste sich dann 
vielleicht jemand die Mühe machen ein Programm zu schreiben, mit dem man 
P-Files in die Tape-Datei und auch wieder zurück bekommt. Von mir wird 
es nur Perl-Scripts und eventuell ein GTK-Programm (für die Mausfreunde)
geben.

Gruß Jörg

von ALeX K. (alx)


Lesenswert?

Das sieht nach nem zimlich coolen Projekt aus.
Aber warum erfindest du ein neues Dateisystem? Nimm doch einfach tar - 
is sehr einfach gestrickt, und man kann einfach mit "tar cf /dev/sda 
/path/to/source/dir" einpacken (bzw. mit "tar xf /dev/sda" auspacken)

von Peter Sieg (Gast)


Angehängte Dateien:

Lesenswert?

ok. Die 'Einfachst' Schaltung sollte dann also in etwa so aussehen..?

Als HEX Datei werde ich nehmen: ax81_m1284p_t-l_sd_pd1pd4.hex

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Genauso ist es. Sinnvoll sind noch zwei Pullup-Widerstände an den 
Tastaturleitungen und eventuell den Widerstand an PORTC.7 auf 510 Ohm 
verkleinern.

Gruß Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Zum Thema Dateisystem.

Ich versuche auf Controllerseite mit so wenig wie möglich Aufwand 
hinzukommen und den lieber auf die PC-Seite zu verlagern. So sind alle 
Dateien gleich lang (16K) und haben am Anfang den Dateinamen (im ZX81 
Charset) und die Länge der Nutzdaten. So lassen sich ohne großen Aufwand 
Dateien laden oder schreiben oder auch überschreiben. Das Bestimmen der 
Nummer eines Sektors in einer bestimmten Datei ist damit nur noch eine 
einfache Rechenaufgabe.
Auf FAT, EXT etc. zu verzichten und die Sektoren direkt zu benutzen ist 
eigentlich für den gegebenen Zweck die beste Methode solange nicht mit 
einem Windows-Computer auf die Daten zugegriffen werden soll.
Das "neue" Dateisystem entspricht eigentlich fast dem alten, ausser dass 
es am Anfang jeder Tape-Datei einen Markierungs-Sektor gibt. Da das 
gesamte Dateisystem 128MB belegt, wird zum Systemstart von 64MB an 
rückwärts nach einem solchen Markierungssektor gesucht. Aus diesem und 
der Clustergröße in Sektoren wird dann der Startsektor des Dateisystems 
berechnet und bis zu einem Neustart im RAM gespeichert. Bei frisch 
formatierten Karten funktioniert das eigentlich sicher.

Wer will, kann sich natürlich auch Routinen für andere Dateisysteme 
schreiben, letztendlich werden 6 Subroutinen benötigt:
1
fsys_init      initialisiert IO und das Dateisystem zum Systemstart
2
fsys_rname     liest den Name und die Länge einer Datei (r16)
3
fsys_rfile     lädt Programm nach Dateiname
4
fsys_rfile_02  lädt Programm nach Dateinummer
5
fsys_wfile     speichert Programm nach Dateiname
6
fsys_dfile     löscht ein Programm nach Dateinummer
dazu noch zwei, wenn der Bootloader benutzt wird.



Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Hi. Evtl. eine Alternative wäre auf den FAT16 Routinen vom AVR CPM 
aufzusetzen in der Weise, das nur eine 128MB Image Datei (Aufbau wie von 
dir beschrieben und mit den Perl Tools erzeugt) mit festem Namen auf der 
SD Karte lokalisiert wird. Name z.B AX81APPS.IMG o.ä.
Dann könnte der gemeine Windows User eine fertige Imagedatei einfach auf 
eine FAT16 formatierte SD Karte ins Wurzelverzeichnis kopieren und gut 
ist.
Ich gehe sowieso davon aus, das wenige oder sogar nur 1-2 Imagedateien 
einmal erstellt werden und dann nur noch 'genutzt' werden..

Unter Windows mit DD etc, direkt auf ein device zu schreiben, wird 
spätestens dann zum Problem, wenn man nicht die gewünschte SD Karte, 
sondern die Festplatte erwischt hat ;-)

Peter

von Peter Sieg (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal auf die Schnelle Eagle Dateien dazu.
Video-Out Version mit SD Karte.
Und Ja, 'sche**' Autorouter! Nicht meckern, sondern freuen, das man
es besser machen darf ;-)

Bin z.Z durch Grippe etwas angeschlagen.. da übersieht man auch mal 
leicht
was.. wäre schön, wenn mal wer drüber schaut..

Peter

von Tüddel (Gast)


Lesenswert?

@ Peter

mit 10 min Aufwand bekommst du das Layout auch einseitig!
Darfst dich aber erst mal auskurrieren, gute Besserung.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Joerg Wolfram schrieb:
> @Kantor
> Kann es sein ,dass Du mit einem iPAD versucht hast die Seite aufzurufen?
> Derarige geschlossenen Systeme sind für mich unvereinbar mit open Source
> und deswegen möchte ich so etwas auch nicht unterstützen.

Sowas ist natürlich Komplettblödsinn erster Güte.
Du tust mehr für Opensource, wenn du, anstatt mit solchen Aktionen die 
Besucher zu verschrecken, konsequent auf offene Standards setzt.
Dann kann es jeder sehen, egal welches Gerät/Browser/OS er nutzt.
Übrigens: Komplett offene Standards zu nutzen, verbessert auch das 
Google-Ranking,
das macht es leichter für den Googlebot, die relevanten Informationen zu 
indexieren.

Das dazu. Zum Projekt selbst: Saubere Arbeit. Ich denke, da habe ich was 
für den Weihnachtsurlaub.

Gruß
Jadeclaw.

von Tüddel (Gast)


Lesenswert?

@ Joerg
ich habe hier noch ein Display mit einem SED1330 Controller, passt das, 
oder für was für ein Display hast du vorgesehen?

von Joerg W. (joergwolfram)


Lesenswert?

@Tüddel

Nein, das dürfte nicht gehen. Der Code ist nur für controlllerlose
Displays geeignet.

Jörg

von Joerg W. (joergwolfram)


Lesenswert?

@Peter

Wahrscheinlich werde ich eine einzige Image-Datei benutzen, wie von Dir 
vorgeschlagen. Allerdings werde ich nicht über FAT etc. gehen, sondern 
mit Markierungssektoren arbeiten. Dann ist das zugrunde liegende FS 
egal, solange die Datei innerhalb der ersten 64MB beginnt.

Jörg

von Peter S. (petersieg)


Lesenswert?

Bin etwas ratlos..

Erster Lochrasteraufbau ist fertig. Ca. wie Einfachstversion weiter 
oben, also ohne SD Card oder Dataflash! Nur +5V, 20MHz Quarz+2xC, PS2 
Anschluß mit 2x10k Pullup und Videoout 510 Ohm an pc7 und 1k an pd5. 
100nf Abbock-C, 10uF und 220uF in der Versorgung.
Atmega1284p geflasht mit:
avrdude -c usbtiny -p m1284p -e -U flash:w:ax81_m1284p_t-l_sd_pd1pd4.hex
avrdude -c usbtiny -p m1284p -U lfuse:w:0xe6:m -U hfuse:w:0xd1:m -U 
efuse:w:0xfc:m

Nun zum Problem.. Der AX81 scheint nicht wirklich so 'starten' zu 
wollen..?
Von ca. 50x Strom drauf, startet er vielleicht 1x ??
Wenn er dann läuft arbeitet er aber stabil! Rumdrücken auf der LR 
Platine kein Problem.. (Nur Quarz anfassen mögen sie nicht).
Bei Reset an Pin9 (10k Pullup) wieder nichts..?

Ich weiß nicht wie ich es besser beschreiben könnte..

Netzteil +5,32 V/2A! (Da hing sonst ein Z80 SBC dran der mehr Strom 
braucht)
Auch schon anderes Netzteil probiert (hatte nur 4,85V - sollte aber auch 
noch gehen) - keine Änderung.
Andere PS/2 Tastatur probiert - keine Änderung.
Ohne Tastatur angeschlossen - keine Änderung.

Bei erfolgreichem Start kommt das Einschaltbild AX81 mit 'No Card' 
Meldung.
und man kann wie gesagt arbeiten (kleines Basicprogramm ok).

Einzige Erklärung die mir so spontan einfallen würde.. die Firmware hat
ein Problem, wenn gar kein Speicher (SD Karte/Dataflash) dran hängt..?

???

Peter

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Hier ein Bild.
(Auch wenn man nicht viel erkennen kann)

Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter,

Ich habe die Universion aufgebaut. Mit der AVR-Chip-Basic2 und einem 
Mega644 läuft sie soweit. Mit dem ZX81 bekomme ich sie auch nicht zum 
starten. Habe keinen Mega644P da. Mal schauen was Jörg sagt.

Gruß
Manfred

von Peter S. (petersieg)


Lesenswert?

Ja.. muss natürlich nicht am Speicher (SD/Dataflash) liegen, sondern 
kann auch an etwas anderen (Eingangspins) liegen, wo die Firmware etwas 
erwartet, das aber bei der Einfachstvariante nicht da ist..??
Mega644/P habe ich z.Z nicht da.

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo,

macht mal an den Bootloader-Input-Pin einen Pulldown von ca. 1K. Ursache 
kann sein, dass im TV-Modus die internen Pull-Ups zeitweilig 
abgeschalten werden, damit es bei der ChipBasic Hardware nicht zu 
Bildstörungen über die internen PullUps an PORTC6 und PORTC.5 kommt. 
Wenn "Gewackel" an der BL-Input Leitung erkannt wird, aktiviert sich der 
Bootloader und schaltet die Bildausgabe ab. Ich hatte immer ein 
serielles Kabel dran, darum könnte mir das nicht aufgefallen sein.
Ansonsten werde ich noch eine Version ohne Bootloader generieren, das 
geht aber erst heute abend.

Jörg

von Peter S. (petersieg)


Lesenswert?

Hi Jörg.

Dachte erst es hätte etwas bewirkt.. aber nein. 1k über GND an pd4 als 
auch einmal an pd1 zeigten nicht die gewünschte Wirkung.

Beim Vergleich Einfachst- gegen HW auf der AX81 Seite sind mir noch 
weiter
aufgefallen: pc5 + pc6 sind bei mir unbeschaltet. Auf der AX81 Seite 
sind
sie für S/W mit pc7 gebrückt.
pc2,3,4 sind bei mir ebenfalls unbeschaltet=offen. Auch kein Pullup 
(10k) wie
auf der AX81 Seite.

Habe man pc5+6+7 gebrückt - kein Erfolg.

Evtl. mal eine Version die fest Videoout hat und ohne Bootloader ist..

Peter

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

So, ich habe jetzt mal nur Varianten mit TV-out only und ohne Bootloader 
erzeugt. Die Pullups an PC 2..4 müssen auf jeden Fall ran, damit das 
richtige Videosystem (PAL, CSYNC) eingestellt wird und bleibt. Der grund 
dafür ist, dass das PORT Register durch die "Bitschieberei" ständig 
andere Werte hat und die internen Pull-Ups damit ein- und ausgeschaltet 
werden.

Gruß Jörg

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Hi Jörg.

Danke! Ich denke das wars. Die 3x10k Pullup an pc2,3,4 haben auch die 
0.21 Firmware verbessert im Startverhalten.. es dauert nach Bestromung 
ca. 4-5s
dann kommt die Einschaltmeldung. Aber nach Reset an pin9 bleibt der 
Rechner
weg..?

V0.22 ohne Bootloader (habe genommen: ax81_m1284p_t--_sd_nobl.hex) 
arbeitet aber noch besser. Einschaltbildschirm kommt nach ca. 2s und 
auch nach Reset
kommt wieder der Einschaltbildschirm.

Prima!

Sollte ich um den Kontrast noch etwas zu erhöhen, pc5+6 mit pc7 brücken?

Hänge hier noch ein Bild der ZX81 Tastatur an, um die Bedienung zu 
erleichtern.

---

Noch ein paar Gedanken zum Image der Programme in einer Datei.
Evtl. kann man auch die Größe bestimmen und durch 16kb teilen.
Muss glatt aufgehen sonst illegal File. Dann zuordnen zu Tape#
und Programm#. 40 Programme (40x16kb Größe) 'füllt' dann Tape 1
Programm 1 - 32 und Tape 2 Programm 1 - 8.
So ist man nicht gefordert alles in ein Image zu packen und kann
bei Bedarf eigene Zusammenstellungen erstellen..

Hier auch noch mal die berühmten 1kchess und 1ktetris als .p im
Zip.

Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Ich habe jetzt auch die X81 Version V0.22 am Laufen, aber nur eine 
Anzeige bei der M644 t sd nicht bei der m644 t-l sd. Beim Start zeigt er 
mir no Card.

Gruß
Manfred

von mkBurkersdorf (Gast)


Lesenswert?

Hallo,

Hat einer eine Idee wie ich die Programme unter Windows auf die SD-Karte
schreiben kann ?

Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

@Manfred

Entweder mit Perl und dd für Windows oder mit dem Bootloader. Ab der 
nächsten Version geht dann auch eine Image-Datei auf der SD-Karte.

@Peter
Mit den Scripten kann man dann ja problemlos einzelne Dateien in das 
Image hinein und auch wieder heraus transferieren ohne dd zu benötigen. 
Um die Verwendung von Perl wird man bei meinen Projekten eh schlecht 
"drumrumkommen".
Und wer halt lieber klicken will, muss sich halt selbst was schreiben.

Gruß Jörg

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

@Jörg: Perl unter Win$ sollte ok gehen.. Evtl. gibts dann später ja ein 
eigendes Programm dazu (java - dann kann man es fast überall nutzen).

Ich habe mir das auf deiner Seite durchgelesen mit den Images/Tapes/SD 
Karte.. und es trotzdem noch nicht ganz verstanden.. ich habe aber auch 
die
Scripte noch nicht angesehen.. ich denke da wird ein 'Image' sozusagen
hintereinander hart auf die SD Karte geschrieben.. sowas hatten wir ja
im Prinzip bei AVP CPM auch zuerst.. gefällt mir aber nicht wirklich..

Ich denke da muss ich wohl auf die nächste Version warten, die zumindest
mal eine Imagedatei unter FAT16 von der SD Karte verarbeiten kann..

Ich denke die Geschichte mit dem Bootloader und der Dateiübertragung ist
eine Frickelei und stört mehr als das es nützt. Just my 2 cents ;-)

Sobald eine Imagedartei existiert, die einfach auf eine SD Karte kopiert
werden kann, wird niemand mehr eine solche Lösung (Bootloader+Dataflash)
einsetzen..

Ich werde in den nächsten Tagen meinen LR Aufbau schon mal um die SD 
Kartenlösung erweitern. DD unter Windows habe ich leidlich schon für
AVR CPM genutzt. Perl habe ich nicht installiert. Kannst du bitte für
Testzwecken eine Imagedatei z.B von Tape 11 oder auch mehreren Tapes 
hier als ZIP einstellen?
Dann kann man die direkt mit dd if=image.datei of=(sdcard) b=512 o.ä
auf eine SD Karte schreiben und ein bißchen weiter testen..

Ansonsten auf jeden Fall ein schönes Projekt!

Peter

von mkBurkersdorf (Gast)


Angehängte Dateien:

Lesenswert?

@Jörg
Das mit der Imagedatei finde ich gut. dd für Windows habe ich mir schon 
mal runtergeladen. Da können wir schon mal testen.

Ich stelle mal 2 Bilder ein.

@Peter
Das Layout für die SD-Karte kann ich Dir schicken, wenn Du mir Deine 
E-Mail
schickst.

Gruß
Manfred

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

@Manfred: Prima! Und Danke, aber das Layout für die Erw. der Chipbasic 
Platine ist für mich nicht so interessant.. (Evtl. für Jörg oder 
Chipbasic2 Besitzer schon!) Ersteinmal ein LR Aufbau und dann alles auf 
einer neuen Platine (noch nicht fertig!)..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Wenn man DD mit

bs=16384 seek=prognummer count=1

aufruft, kann man die PX Dateien aus den Archiven von meiner Homepage 
direkt nehmen, halt erstmal Programm für Programm.

Für die Imagedatei habe ich mir noch etwas ausgedacht. Und zwar kommen 
neben der Imagedatei auch noch 256 Verzeichnisse mit auf die SD-Karte. 
In jedes dieser Verzeichnisse wird bei der Installation eine Lese- und 
eine Schreibapplikation kopiert. Dann braucht man nur noch die .P 
Dateien in das Verzeichnis zu kopieren und das to-image Programm zu 
starten, welches dann die Dateien an der richtigen Stelle in das Image 
schreibt. Und umgekehrt genauso. "Perl-unwillige" Windows-Nutzer 
bekommen ein Kompilat, der Rest der Welt ein Perl-Script.

Gruß Jörg

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Habe unter Win$ ein Image aus 4 PX Dateien erzeugt:

copy /b 1.px+2.px+3.px+4.px ax81.img

Ist auch eaxkt 64kb 'groß'.

Wurde auch 1x so halb erkannt.. 3 der 4 Programme.. konnte HELI sogar 
laden..
aber habe den Eindruck, das beim laden, starten der Programme die SD 
Karte
durcheinander gebracht/logisch zerstört wird..?

Der SD Anschluß ist allerdings auch Frickelwerk.. muss ich noch ma bei..

Peter

von Peter S. (petersieg)


Lesenswert?

Habe die Karte nun mit dem Panasonic SD Card Formatter wieder ins Win$ 
Leben zurückgeholt.. erneut mit dd das image drauf und Kuchen gebacken 
(mein Kleiner wird morgen 12) und gerade wieder getestet und die 4 
Programme werden korrekt angezeigt. HELI wird auch geladen und läuft (da 
ist bei Zeile 200 noch ein SAVE drin.. habe ich gelöscht).

So weit so gut..

Frage: Was (sollte) passieren, wenn ich nun ein winziges Basic Programm 
ala '10 PRINT 42' mit SAVE "42" speichere?

Peter

von Peter S. (petersieg)


Lesenswert?

Hier noch ein paar Links mit P Files
und Info's (inkl. Emulatoren):

http://www.zx81.nl/

http://www.aptanet.org/eightyone/

Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter,

Kannst Du mir bitte erklären wie Du das Image unter Windows erstellt 
hast auch mit den .p files. Und mit dd auf den Stick speichererst. Ich 
sehe da nicht durch.

Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

wenn Du das Programm "42" speicherst, müsste es dann bei "LLIST" 
auftauchen. Voraussetzung ist natürlich, dass mindestens ein freier 
Speicherplatz (Name=0xff) oder ein Programm mit gleichem Namen im 
aktuellen Tape vorhanden sind. Durch die vorherige Formatierung können 
noch irgendwelche anderen Daten drinstehen, so dass das Speichern 
fehlschlägt. Dann sollte es aber eine Fehlermeldung (S oder T, weiß ich 
im Moment nicht genau) geben.
Mit

SAVE "-ALL"

könntest Du das Tape vor dem DD erstmal "formatieren".

Ansonsten habe ich mich ein bisschen mit dem MINGW Crosscompiler 
rumgeschlagen, so dass es für das "neue" Dateisystem fertige .exe 
Dateien (inclusive einem Filesystem-Installer) für die Windows-Fraktion 
geben wird.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@mkBurkersdorf: Einfach die 16kb PX Dateien mit copy /b hintereinander 
gehangen... Dann diese Datei mit DD auf die Karte geschrieben..

@Jörg: Ich meine mich zu erinnern, das das eben nicht ging mit SAVE 
"42"..
teste ich aber nochmal..

Peter

von Peter S. (petersieg)


Lesenswert?

Hmm.. also jetzt geht die SD Karte irgendwie überhaupt nicht (mehr)..?
No Card. Schon mehrfach formatiert. Alle Verbindungen durchgemessen..
kann keinen Fehler finden..

Wie sieht es denn bei den anderen Mitstreitern mit SD Card Zugriff aus?

EDIT: Eine andere Karte probiert, die ich schon entsorgen wollte, da sie 
sich
unter Win$ nicht mehr formatieren läßt (auch mit dem Panasonic Tools 
nicht!)
Und siehe da.. Card Meldung. SAVE "-all" initialisiert. Basicprogramm 
gesichert und wird angezeigt!
Wieder LOAD geht auch.
Nach Reset auch wieder CARD und gespeicherte Programme sind da..

Mag er die 128MB SD Karte nicht, die aber z.B bei mmc2iec/sd2iec und AVR 
CPM
einwandfrei gehen..? Auch Win$ kann mit der Karte..

Peter

von chris (Gast)


Lesenswert?

Vielleicht ließe sich mein Bootloader für das Projekt verwenden:
http://hackaday.com/2011/09/09/program-an-arduino-using-your-sound-card/

von bastler (Gast)


Lesenswert?

hmm.., warum wird der FBas hier mit 3 leitungen beschaltet:
Autor: Peter Sieg (Gast)
Datum: 03.11.2011 08:10

der zx81 kennt doch keine graustufen,nur s/w oder haben die 3 
widerstände noch eine andere bedeutung?

die sogenannte grautönung die man manchmal auf bildern erkennt werden 
durch die starke verzögerung vom alten röntgen(röhrenfernseher) gerät 
erzeugt.

danke.

gruss

von Volkmar D. (volkmar)


Lesenswert?

So wie ich das verstanden habe, wird ja eine bestimmte HW 
(AVR-Basic-Computer?) wieder verwendet. Und ich gehe mal davon aus, das 
bei dieser HW es so verschaltet ist. Und damit es dann s/w und nicht 
grün wird, gibt es eben eine Verbindung zwischen den 3 Leitungen.

von Ale (Gast)


Lesenswert?

I am still missing some games that I use to run on my brazilian made 
TK-85 (discrete ZX-81, i.e. without ULA). Tk-MAN, Dragon, Guerrilla 
Cosmica... I still have the tapes somewhere I think... Well Mazogs is 
there, so who needs something else ;-)

von Christian B. (casandro)


Lesenswert?

Wenn ich ein Feature vorschlagen darf, dann wäre das einen 
"Einschaltzustand" zu speichern. Sprich, die Möglichkeit einen 
momentanen Zustand zu speichern, der dann beim Einschalten eingenommen 
wird. Dann könnte man damit recht einfach Steuerungsaufgaben machen.

von Joerg W. (joergwolfram)


Lesenswert?

Etwas Ähnliches habe ich auch schon in Erwägung gezogen. Allerdings mit 
einem Mega 328 oder Mega 32 ohne Videoausgabe. Das Programm wird mit im 
Flash gespeichert, die Übertragung erfolgt im ZX81 (Audio-) Format, 
damit man den Steuerchip auch mit einem originalen oder nachgebauten 
ZX81 nutzen kann. Dafür werde ich noch entsprechende Routinen in den 
AX81 einfügen, dass mittels eines führenden Leerzeichens beim Dateinamen 
über den Audiopin gesaved wird.

Am AX81 selbst kann man den Steuerchip zum Debuggen der Programme dann 
wohl über I2C anschließen, für den ZX81 müsste dafür halt eine Art 
Interface (mit CPLD) kreiert werden. Das Übertragen zum Steuerchip ist 
davon aber unabhängig.

Das "neue" Dateisystem ist fast fertig, eigentlich bin ich schon bei 
enem anderen Projekt. Und wenn ich mir das Verhältnis von Aufwand zu 
Nutzen (für mich =0 ) ansehe, werde ich beim nächsten Projekt wohl 
konsequent beim Dataflash bleiben...

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Na da bin ich mal gespannt! Ich denke aber, das die SD Routinen 
noch nicht so sind, das (fast) alle Karten funktionieren.. Das ist beim 
AVR CPM Projekt auch so (obwohl dort die Karte geht, die hier nicht 
will..?) und war beim sd2iec so, geht inzwischen aber viel besser..

Ich vermute irgendwelche Anleitungen im Netz enthalten einen veralteten 
Stand, wie SD Karten zu initialieren/anzusprechen sind.. die eben nicht
mit allen/vielen gehen..

Hier könnte ggf. ein Blick in das GPL Projekt sd2iec unter www.sd2iec.de 
und im dort verfügbaren Sourcecode etwas bringen.

Ist ein Dataflash so viel umkomplizierter im Einsatz? Was wäre mit 
seriellen Eproms ala 24Cxx? Diese kann man z.B im Eprombrenner dann 
auslesen und ein solches Image einfach duplizieren..

Gruß Peter

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn du mir die Eagle-Daten (SD-Slot lib, mega1284p lib und deinen 
Schaltplan im eagle Format) hochlädst, mach ich dir ein schönes 
selbst-ätzbares, einseitiges Layout.

Zusätzlich würde ich dann noch die AD-Kanäle und ISP auf 
Standard-Pfostenstecker rausführen.

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Hier sind meine Eagle Dateien inkl SD Slot lbr.

Gruß Peter

von bastler (Gast)


Lesenswert?

Hmm.. also jetzt geht die SD Karte irgendwie überhaupt nicht (mehr)..?
No Card. Schon mehrfach formatiert. Alle Verbindungen durchgemessen..
kann keinen Fehler finden..

Ich habe ein Atmegaboard mit einem Spannungsregler 3,3Volt für die 
Sd-Karte, überhaupt keine Schwierigkeiten, alle SD-Karten funktionieren.
Ob Sectorbeschreibung/lesen oder Fat-System.

Wenn ihr diese komische Widerstandsschaltung habt für die SD-karte, 
wisst ihr manchmal nicht wo  welche Störung auftritt, dann könnt ihr 
euch tot suchen.

mfg

von Peter Sieg (Gast)


Lesenswert?

@bastler: Habe das gleiche Problem. Ich bin mir sehr sicher, das es 
weder ein Problem der Verkabelung oder der SD Karte ist. Bis mich jemand 
eines besseren überzeugt halte ich die Routinen in der Firmware für das 
Problem.
Unter Umständen macht auch DD unter Win$ da was, was unter Linux nicht 
so
ist. Müßte man mal unter einer Live-CD mit Linux testen..

Aber ich warte jetzt einfach auf die nächste Version, die ein Image 
unter
einem FAT Filesystem unterstützt.. dann mal weitersehen..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Ich habe nur zwei SD-Karten, eine 1GB Panasonic und eine 2GB Hama, die 
gehen beide ohne Probleme. Und da ich für andere Projekte auch nur diese 
beiden Karten einsetze kann ich zu anderen Karten keine Angaben machen. 
Die Initialisierung benutzt nur CMD0, CMD55/ACMD41 und CMD16, gelesen 
wird zu diesem Zeitpunkt nichts von der SD-Karte. Theoretisch könnte man 
die Initialisierung noch weiter ausbauen und auf SD(V1), MMC, SD(V2) und 
SDHC testen...

Eventuell hilft ein ja Pullup vom Datenausgang der SD-Karte nach +3,3V.

EEPROMs brauchen zum Schreiben recht lange, daher eignen sie sich nur 
für wenig Daten. Die Dataflash-Bausteine haben meiner Meinung nach 
mehrere Vorteile. Zum ersten zwei RAM-Buffer, die man auch für temporäre 
Daten nutzen kann wenn im µC kein Platz mehr ist. Außerdem bekommt man 
damit konstante Schreibraten hin, da man die Buffer wechselseitig 
benutzen kann. Dann lassen sich gegenüber anderen Flash-Bausteinen (z.B. 
M25P16) einzelne Pages löschen und nicht nur größere Sektoren. 
Zuguterletzt hat der AT45DB081 5V-tolerante Eingänge und er ist 
gegenüber Spannungsschwankungen sehr tolerant (2,7-3,6V gehen) was den 
Hardwareaufwand minimiert.

Nachteil ist die geringere Speicherkapazität, aber das kommt halt auf 
die
Anwendung an. Und er lässt sich nicht bequem an einen PC anschliessen, 
wobei mich das meistens eh nicht stört.

Gruß Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Gestern konnte ich das neue FS auch bei jemanden mit Windows (XP) 
testen, jetzt fehlt nur noch die Doku. Da ja die Mehrzahl der Nutzer mit 
Bootloader,  Dataflash und "Rohdaten" auf SD-Karte nichts so richtig 
anfangen können, werde ich ab der nächsten Version zum Projekt ein 
Binary- und ein Source-Paket zur Verfügung stellen. Ersteres enthält nur 
noch Hexfiles für die neue SD-Variante ohne Bootloader und die 
Install-Programme für das "neue" FS. Auch die offizielle Doku wird sich 
nur noch auf dieses Paket beziehen.

Das zweite Paket enthält dann Entwicklungs-Snapshots der Source ohne 
Hexfiles zum selber-assemblieren und eventuell eine erweiterte Doku.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Bin schon gespannt wie ein Flitzebogen ;-)

Gruß Peter

von mkBurkersdorf (Gast)


Lesenswert?

@ Jörg : Ich warte auch schon darauf.

Gruß
Manfred

von chris (Gast)


Lesenswert?

>Etwas Ähnliches habe ich auch schon in Erwägung gezogen. Allerdings mit
>einem Mega 328 oder Mega 32 ohne Videoausgabe. Das Programm wird mit im
>Flash gespeichert, die Übertragung erfolgt im ZX81 (Audio-) Format,
>damit man den Steuerchip auch mit einem originalen oder nachgebauten
>ZX81 nutzen kann.

Der Bootloader ist eigentlich nicht ZX81 Kasettenrecoder kompatibel, 
ermöglicht aber mit sehr geringem Aufwand ( 3 Bauteile ) die 
Programmierung via Soundkarte:

http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=128

Der Vorteil gegenüber dem Orginal ZX81-Format: Die Datenrate beträgt 
mindestens 10KBaud. Man könnte jedes mal die 8K ZX81 Betriebssystem 
übertragen und den Rest eines Atmega328 für die Programme verwenden.

von Joerg W. (joergwolfram)


Lesenswert?

Hallo,

ich habe jetzt die aktuelle (Binär-) Version online gestellt. Source 
folgt demnächst, da will ich noch etwas "umräumen".
Um das Dateisystem anzulegen, sollte die SD-Karte vorher formatiert 
werden. Dann ist es auch "egal", ob man das Dateisystem in einem extra 
Unterordner anlegt. Dorthin werden dann die "install_fs.exe" bzw. die 
drei Perl-Scripte aus dem tool Ordner kopiert und dort die exe oder das 
Install-Script gestartet. Das Anlegen des Dateisystems dauert dann 
etwas, da neben der Image-Datei auch 256 Tape-Ordner mit den 
entsprechenden Tools angelegt werden. Dabei erzeugt die exe sowohl 
exe-Dateien als auch Perl-Scripte in den Unterordnern, während das 
Perl-Install-Script nur Perl-Scripte in den Unterordnern anlegt.

chris schrieb:
> Der Vorteil gegenüber dem Orginal ZX81-Format: Die Datenrate beträgt
> mindestens 10KBaud. Man könnte jedes mal die 8K ZX81 Betriebssystem
> übertragen und den Rest eines Atmega328 für die Programme verwenden.

Das "Blöde" daran ist nur, dass der ZX81 einen Z80 als Prozessor hat und 
auf dem AVR ein Emulator laufen muss. Und da bleibt in einem Mega328 
eher kein Platz für mehr Programme. Und außerdem könnte man dann mit 
einem originalen ZX81 keine Programme übertragen...

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Das ist mir leider noch überhaupt nicht klar geworden.. wie das 
funktioniert..??

Also einige *.p Dateien und install_fs.exe in einem Verzeichnis und dann 
einfach exe starten..? Ergibt ein Imagedatei, die wie heißt? Diese dann 
einfach auf eine formattierte (FAT16) SD Karte kopieren..?
Oder MUSS das alles AUF einer SD Karte laufen?
Sind *.p die Grundlage oder *.px Dateien?
Wird eine definierte Anzahl solcher Dateien erwartet oder soviele wie da 
sind werden zu einem Image umgesetzt..?

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

Hast Du die Anleitung auf der Webseite oder im doc Ordner gelesen?

...

3.2.2 das Dateisystem initialisieren

Dazu sollte die SD-Karte frisch formatiert sein. Zuerst werden entweder 
das Install-Programm oder die drei Install-Scripte in einen beliebigen 
Ordner auf der Karte kopiert. Dann wird einfach install_fs.exe oder das 
Perl-script mit "perl install_fs.pl" gestartet. Dann braucht es bis zu 5 
Minuten, bis das Dateisystem angelegt ist. Neben der Image Datei gibt es 
einen Unterordner TAPES in dem sich die Verzeichnisse für die einzelnen 
Tapes befinden. Nach der Installation sollte das Installationsprogramm 
wieder gelöscht werden, da ein versehentlicher Aufruf eine neue, leere 
Image-Datei anlegt und dort bisher vorhandene Daten löscht.

...

Ist das für Windows-Benutzer wirklich so schwer zu verstehen?

Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Ich habe beides gelesen. Kann auch sein, das heute nicht mein Tag 
ist.. aber meine Fragen sind dadurch in keinster Weise beantwortet.

Nach Durchsicht der Perl Quellen sehe ich das das Image: ax81_image.bin
heißt.

---

Also einige *.p Dateien und install_fs.exe in einem Verzeichnis und dann
einfach exe starten..? Ergibt ein Imagedatei, die wie heißt?
-> ax81_image.bin

Diese dann einfach auf eine formattierte (FAT16) SD Karte kopieren..?
Oder MUSS das alles AUF einer SD Karte laufen?
-> ? Ich würde das gerne unter Windows laufen lassen und nur die 
resultierende Imagedatei auf SD Karte kopieren. Frage aber lieber 
vorher, bevor ich mir hier meinen Arbeitsrechner lahmlege..

Sind *.p die Grundlage oder *.px Dateien?
-> lt. perl Quellen sind es *.p Dateien.

Wird eine definierte Anzahl solcher Dateien erwartet oder soviele wie da
sind werden zu einem Image umgesetzt..?
-> ? Das Image wird wohl immer in max. Größe angelegt.. Überzählige 
Plätze bleiben dann wohl leer..

(Ich bin weißgott kein Perl Experte..)

---

Anstatt genervt zu wirken, solltest du evtl. dankbar für Hinweise sein,
wo deine Doku noch nicht ganz klar bzw. ausgeprägter sein könnte..
denn ich denke das du so ein Projekt nicht machst, damit sich sonst
niemand damit beschäftigt..

;-)

Gruß Peter

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Peter Sieg schrieb:
> @Jörg: Ich habe beides gelesen. Kann auch sein, das heute nicht mein Tag
> ist.. aber meine Fragen sind dadurch in keinster Weise beantwortet.

Ich finde die Anweisungen eigentlich ziemlich klar, ich nehme die 
einzelnen Sätze hier mal auseinander:

1. Dazu sollte die SD-Karte frisch formatiert sein.

   Also: SD-Karte formatieren

2. Zuerst werden entweder das Install-Programm oder die
   drei Install-Scripte in einen beliebigen Ordner auf
   der Karte kopiert.

   Weil da oben "oder" steht, habe ich die folgende Wahl:

   a) Ich kopiere die 3 Install-Scripts
   oder
   b) Ich kopiere das Executable.

   Da ich faul bin, nehme ich das Executable. Ich lege also einen
   Ordner namens "Peter" auf der SD-Karte an und kopiere install_fs.exe
   in diesen Ordner.

3. Dann wird einfach install_fs.exe oder das Perl-script mit
   "perl install_fs.pl" gestartet.

   Da ich die Variante mit der Exe gewählt habe, klicke ich die Exe
   (auf der SD-Karte im Ordner "Peter") an.

Was war daran schwer? :-)

Gruß,

Frank

von Peter Sieg (Gast)


Lesenswert?

@Frank M.

Ich will nicht streiten.. aber ich hoffe du kommst nie in die 
Verlegenheit Benutzeranleitungen schreiben zu müssen.. ;-)

Du reitest auf den Angaben rum, die eigentlich schon klar waren..
exe anstatt Perl Scripte war (mir) schon klar..

Nur das da wohl offensichtlich auch noch *.p Dateien als Input benötigt 
werden (die du in deiner 'Anleitung' gar nicht erwähnst..) und das
man so viele File Write/Delete Aktionen nicht unbedingt auf einem Flash
Medium ausführen sollte ...

Ich sehe schon.. ich werde es heute abend einfach mal auf meinem Win$ 
Rechner probieren, da ich meinen Firmen-PC nicht lahmlegen kann..
und wahrscheinlich sind meine Fragen dann in 10min beantwortet..

Wenn ich gewußt hätte, das solche Fragen sowas nach sich ziehen..
hätte ich wohl grundsätzlich ersr selbst probiert.. Ich bin nur
kein Freund davon exe einfach auszuführen und nicht GENAU zu wissen was
dann passiert.. Windows Nutzung prägt halt ;-)

Ich poste die Antworten dann hier für alle, die ähnlich dumme Fragen 
haben werden..

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

Vielleicht erstmal was Prinzipielles.
Natürlich freut es mich wenn jemand die Projekte nutzt, aber ich mache 
sie nicht extra dafür. Entweder mache ich Dinge, die ich selbst brauche 
oder welche, die erstmal relativ unmöglich erscheinen und somit eine 
echte Herausforderung sind.
Wenn ich mich dazu entscheide, ein Projekt zu veröffentlichen (der Z80 
Emulator ist in einer etwas anderen Form schon über zwei Jahre alt), 
dann bin ich zu dem Zeitpunkt an dem die Doku fertig ist schon längst 
wieder bei etwas anderem (u.a. AVR-Grafikkarte mit minimalem Aufwand und 
2D/3D Unterstützung). Und da nervt es einfach wenn ich an Dingen 
herumdoktern muß, die eigentlich schon aus meiner Sicht gelöst waren.

Aber jetzt nochmal zum Thema:

1.Installation
--------------
- install_fs.exe oder die 3 Perl-Scripts irgendwo auf eine frisch 
formatierte SD-Karte kopieren
- Exe Datei oder Install-Script dort starten
- ca. 5 Minuten warten
- Neben der image-Datei liegen dann noch ein Ordner TAPES mit 256 
Unterordnern im Installtionsverzeichnis
- Installationsprogramm vorsichtshalber löschen.
- die Datei ax81_image.bin enthält 256 virtuelle "Tapes"

2. Programme auf ein Tape (im Image) schreiben
----------------------------------------------
- maximal 32 .P Dateíen z.B. in das Verzeichnis TAPES/TAPE_000 kopieren.
- 000_write_to_image.* im Verzeichnis TAPES/TAPE_000 starten
- fertig

3. Programme vom Tape (im Image) lesen
--------------------------------------
- im TAPE-Verzeichnis (z.B. TAPES/TAPE_000) 000_read_from_image.* 
starten
- die im Tape vorhandenen Programme liegen danach im Ordner als .P 
Dateien vor.

4. Anmerkungen
--------------
- vor dem Schreiben auf das Tape werden alle  bis dahin dort 
befindlichen Programme gelöscht
- Beim Lesen vom Tape werden gleichlautende Programme im Unterordner 
überschrieben

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Ahh! Jetzt wird es klar!!

Das hatte ich anders erwartet, aber ist natürlich ok so wie es ist.
Das probiere ich dann heute Abend direkt so aus. Werde es trotzdem 
(auch) probieren, das im Windows Laufwerk/Verzeichnis (=Festplatte) zu 
machen und
nur das resultierende Image dann auf eine frisch formatierte SD Karte zu
kopieren.. berichte dann hier.

Danke für die Erklärung! Ich kann das schon verstehen, das Entwickler 
selten
auch gerne detaillierte Doku erstellen wollen.. aber so denke ich sind 
doch
jetzt einige Fragen geklärt und es kann weiter gehen..

Viel Erfolg und Spass bei der AVR Graka und Danke nochmals für dieses 
Projekt!

Gruß Peter

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Soo. Hier die Testergebnisse.

1. install_fs.exe direkt im Verzeichnis tool ausgeführt.. dauert etwas. 
TAPES Verzeichnis und darunter TAPE_000 - _255 wird angelegt. In diesen 
sind die 000_write_to_image.exe und 000_read_from_image.exe (neben Perl 
Schripts)
ax81_image.bin liegt in tool.

2. Dachte mir nimmst du 000 für 'deine' *.p Dateien. 1ktetris.p, 
1kchess.p und HELI.P dort hinein kopiert und 000_write_to_image 
ausgeführt. *.p werden gelistet.

3. Die *p*tar.gz von der AX81 Seite geladen und jeweils in 
001,002,003,004 entpackt und ebenfalls 000_write_to_image ausgeführt.

4. SD Karte 2GB frisch formatiert und ax81_image.bin dort ins 
Wurzelverzeichnis kopiert (nichts weiter auf die Karte).

5. Firmware 0.23 t-- geflasht und mit SD Karte eingeschaltet. CARD aber 
LLIST
gibt nur HELI  P aus..? 1ktetris und 1kchess? Inkompatibles P Format?
Kleinschreibung? Hänge die beiden *.P Dateien hier an..

6. POKE 99,1 + LLIST - zeigt Tape 000 an, nicht 001. POKE 99,2 - zeigt 
Tape 000 an..?

--

Das ganze nochmal aber diesmal mit 000 auch von AX81 Seite gefüllt mit 
32 *.p Dateien und 000_write_to_image.

Diesmal werden mit LLIST auch 32 Programme auf Tape 000 angezeigt. POKE 
99,1 aber zeigt wie oben Tape 000 an, nicht 001. Auch POKE 99,2 zeigt 
TAPE 000 an.. als wenn die Umschaltung nicht geht..?

---

Andere 512MB Karte getestet.. hängt bei Einschaltbildschirm wo NO/CARD 
kommen sollte über 5min..

Peter

von neua (Gast)


Lesenswert?

Autor: Peter Sieg (petersieg)
Datum: 08.11.2011 11:35

Warum hast du hier am TV nur 3 Widerstände, weiter oben in deiner 
Schaltung kommt noch ein vierter dazu ?

danke.

gruss

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

die Umschaltung geht wirklich nicht, das ist aber erst bei der 
automatischen Erstellung des Archives passiert. Und zwar ist die 
emulator_io.asm von einem alten Zweig mit reingeraten. Bei der 0.23 habe 
ich das ROM-Image von 0x3000 nach 0x6000 verschoben und jetzt wird beim 
Poke mit der falschen Adresse verglichen. Beim Testen war die richtige 
Source-Datei drin, darum ging es bei mir auch. Entweder ich schaffe es 
in der Pause oder am Abend, ein neues Archiv zu erstellen.

Eigentlich sollte eine nicht funktionierende Karte mit einem Timeout 
abbrechen, aber das scheint in Deinem Fall ja nicht so zu sein. Das 
schaue ich mir noch mal an. Ebenso das mit Deinen .P Files.

Das Install-Programm ist übrigens nicht deswegen Freeware, weil ich den 
Code für mich behalten will sondern weil ich mir Fragen ersparen will, 
wie man das denn compiliert. Bei Bedarf kann ich ihn aber hier zur 
Verfügung stellen, allerdings ohne jeden Support.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

neua schrieb:
> Warum hast du hier am TV nur 3 Widerstände, weiter oben in deiner
> Schaltung kommt noch ein vierter dazu ?

?? Worauf beziehst du dich..? Bild des Lochrasteraufbaus? Eagle?
Es sind im Umfeld Videoout genau 5 Widerstände wichtig!
1k + 510 Ohm zum Videooutsignal. Plus 3x 10k Pullups.

---

@Jörg: Danke. Bei mir muss nicht alles immer in einem Tag passieren bzw. 
korrigiert werden.. ;-) Heute abend kann ich evtl. noch was testen.. 
morgen bin ich den ganzen Tag auf Dienstreise..

Falls du später noch mal die SD Card Initialisierung anschauen möchtest 
(ich denke da ist bei vielen Projekten etwas im Argen..).. wäre dem 
Projekt sicher zuträglich wenn nicht nur jede 5te Karte geht..

Ich würde den Quelltext der Tools ruhig veröffentlichen.. GPL Gedanke 
;-)
Auch ruhig mit dem HINWEIS: NO SUPPORT. NO QUESTIONS. USE IT AND BE 
QUIET OR MAKE A BETTER ONE AND TELL EVERYONE
;-)

Gruß Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter,

Ich habe das Image-File so erstellt wie Du geschrieben hast. Es wird 
aber immer no Card angezeigt. Ich habd die SD-Karte mit FAT16 formatiert 
und das img-File drauf kopiert. Ist das richtig?
Hast Du die SD-Karte auch mit den Widerständen angeschlossen?
Schaltungsmäßig müste bei mir alles stimmen. 2 unterschiedliche 
SD-Karten mit
1GB benutzt.

Gruß
Manfred

von neua (Gast)


Lesenswert?

Hmm..., die Tastatur funktioniert nicht.
Wird die mit Pullups betrieben oder ohne?

Mit Bascom läuft meine Tastaur Data/Clock über Pullups und funktioniert.

Wie ist es hier beim Zx81?

danke.

gruss

von neua (Gast)


Lesenswert?

Hat sich erledigt, mal sind in der Schaltung Pullups und mal nicht.

Ich lasse mit Pullups laufen.

Tastatur funktioniert aber beim Zx81 noch nicht.

gruss

von neua (Gast)


Lesenswert?

Habe Pullups 4,7k 2x.

danke.

gruss

von neua (Gast)


Lesenswert?

Ach so, Bild ist klar und deutlich auf meinem Monitor.
Erst kommt die Startbildgrafik und dann das Inverse "K" wie beim 
Original.

gruss

von Peter Sieg (Gast)


Angehängte Dateien:

Lesenswert?

@neua: Etwas mehr Ruhe und weniger 1 Zeilenposting wären zielführender..

Ich schrieb im Umfeld Videoout = 5 Widerstände!
Eine Tastatur hat nichts beim Videoout zu tun ;-)
An der Tastatur sind nochmals 2 Pullups. Werte zw. 2k2 - 10k.

@mkBurkersdorf: Das sieht so aus, als wenn auch diese Karten nicht gehen 
unter AX81 (aus meiner Sicht Firmwareproblem..). Die Einzige Karte die 
bei mir geht ist eine 2GB Fuji Film. Eine 128MB (zetzt auch zu klein..) 
San Disk, eine 512MB NoName und eine 16MB (jetzt auch zu klein) arbeiten 
nicht.

Ansonsten Ja. Image erstellen auf auf frisch FAT16 formatierter Karte.
Widerstände als Spannungsteiler müssen zw. SD Karte und AVR!!
Ich habe 1,8k und 3,3k verwendet (laufen auch bei mmc2iec schon so)..

Peter

von Peter Sieg (Gast)


Lesenswert?

Mist nicht angemeldet und kann nicht editieren..

Also Image auf Festplatte erstellt und dann einfach auf frisch 
formatierte SD Karte kopiert - geht (wenn die Karte als solche geht..).

Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter,

Ich habe jetzt 5 unterschiedliche Karten getestet. Gehen alle nicht.
Muß mal sehen ob ich eine Fuji Film bekomme.

Gruß
Manfred

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Hänge hier mal zum Vergleich die SD Card Routinen aus dem avrcpm Projekt 
an..

Peter

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Ich habe den Code für das FS stark erweitert. Nun sollten MMC, SD-V1, 
SD-V2 und SDHC Karten gehen, wobei ich nur letztere beide ausprobieren 
konnte. Wenn bei einem Kommando etwas nicht passt, wird ein fehler 
ausgegeben, mit dem sich das Problem weiter eingrenzen lassen sollte. Es 
gibt nur noch zwei Hexfiles, eins für den Mega1284P und eins für den 
Mega644(P). Deswegen sind die Pull-Ups an PORTC 2..4 unbedingt 
notwendig. Bis zum offiziellen Release will ich dann auch automatische 
Erkennung von Dataflash mit reinbauen, damit es nur noch eine Source 
gibt.

Noch was zu den Pull-Ups an den Tastaturleitungen. Die sind in diesem 
Fall unbedingt notwendig, da die internen Pull-Ups während der 
TV-Videosignalerzeugung abgeschaltet werden. Und, wenn man genau 
hinschaut, im Schaltplan sind die auch drin...

Gruß Jörg

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Ich habe jetzt Dein ax81_m1284p.hex getestet. Es wird nichts angezeigt.
Ich habe die Version mit den 3 Pull-Ups und die 16 -Farberweiterung 
aufgebaut. An Scart angeschlossen.
Mit der Version ax81_m1284p_t--.hex hane ich ein Bild, aber die SD-Karte 
geht nicht.


Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Manfred,

entferne mal bitte die Leitung von der 16-Farb-Erweiterung von PORTC.4 
da ansonsten der LCD-Mode aktiv wird.

Gruß Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

wenn es immernoch größere Probleme gibt, werde ich mir die Sourcen mal 
anschauen. Eine andere für mich praktikable Lösung wäre einfach 
festzulegen, dass Karten unter 1GB nicht unterstützt werden. Zu kaufen 
gibt es ja unter 2GB praktisch fast nichts mehr.

Gruß Jörg

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Danke Jörg.
Hatte ich schon gemacht. Anzeige war wieder da.
Meine Karten werden immer noch nicht erkannt.
Alle 1GB oder 2GB groß.


Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Was wird angezeigt? NO CARD? Dann ist schon CMD0 fehlgeschlagen. Oder 
eine andere Fehlermeldung (E-ACMD41, E-CMD1 oder E-CMD8)? Ändert sich 
die Anzeige, wenn das System mittels CTRL-ALT-DEL neu gestartet wird?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Keine Ahnung ob es euch hilft.
Die Karteninitialisierung im AVR CP/M Projekt war anfangs auch etwas 
fehlerbehaftet. Geholfen hat bei der Initialisierung folgendes:

Exakt 80 Dummy Clocks anlegen, (79 oder 81) mochten einige Karten nicht.
Nach dem CMD0 Kommando warten. Moderne Karten antworten schnell, bei 
älteren dauert es schon mal… Das Timeout liegt derzeit bei 1000ms. Damit 
werden nun auch ganz ganz alte Karten (64 MB) sicher erkannt.

(Ansonsten sehr schönes Projekt Wolfram!)

Gruß Joe

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

No Card wird angezeigt. Beim Affengriff kommt die selbe Anzeige , No 
Card.

Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Ich schicke 128 Dummy clocks, da in der Spec "mindestens 74" drinsteht. 
Außerdem sollte die Karte ja auf das Startbit warten. Momentan mache ich 
256 CMD0-Versuche, bis abgebrochen wird, das werde ich mal auf 4096 
erhöhen und die Zahl der Dummy-Clocks auf 80 reduzieren. Was mich 
allerdings ein bisschen wundert, dass bei mir die zwei SD-Karten und 
auch die (geliehene) SDHC gehen, aber bei Manfred gar keine. 
Mittlerweise bereue ich es, doch nicht konsequent bei den 
Flashbausteinen geblieben zu sein...

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

@Jörg: Ich denke das ist ein Problem, das 'so wenige' SD Karten 
erkannt/genutzt werden können von der aktuellen Firmware.. aber ich 
denke auch, das es lösbar ist.. das zeigen ja auch die Parallelprojekte 
avrcpm und mmc2iec/sd2iec.. und wenn es dann besser läuft ist die 
Unterstützung von leicht verfügbaren SD Karten und insbesondere der 
Datenaustausch mit PC's ein echter Gewinn für das Projekt..

Das 'blind Fliegen' = Firmwareänderung ohne sie auch direkt ausprobieren 
zu können.. ist aber sicher sehr schwierig..
Ich kann dir gerne auch eine 128MB Karte zusenden.. allerdings ist sie 
ja aktuell zu klein um das 256x32x16kb Image zu fassen..

Was sind es denn genau für Karten, die bei dir laufen..? (Ich wollte mir 
sowieso noch 1-2 besorgen)

Gruß Peter

von neua (Gast)


Lesenswert?

Hallo, guten Tag.

Ich bekomme meine PS-Tastatur nicht zum laufen.

Gibt es irgendwelche Vorrausetzungen der PS2-Tastatur um sie hier mit 
dem ZX81 zum laufen zu bringen.

Wie schon einmal beschrieben , unter Bascom funktioniert die tastatur.

danke.

gruss

von Peter Sieg (Gast)


Lesenswert?

@neua: Wenn die beiden Pullups drin sind und die Verdrahtung stimmt, 
kann ich dir leider nicht weiter helfen.

(An der Tastatur sind nochmals 2 Pullups. Werte zw. 2k2 - 10k)

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

die Karten sind folgende:

Panasonic 1GB (dunkelblaues Etikett, ca. 3 Jahre alt)
HAMA 2GB (dunkelblau, eventuell 2 Jahre alt)
HAMA 4GB (grün-silbernes Etikett, fast neu)

Die 2GB Hama war in einem Gerät drin und wurde wegen zu langsamer 
Schreibzyklen ausgetauscht.


Gruß Jörg

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Bei der V0.24
Wird bei einer SD-Card SDV1-Card und in der nächsten Zeile wird 
Formatted angezeigt.

Bei der  V0.23 wird Card angezeigt.



@Peter Tausche mal die Anschlüsse PB4 und PB5 ,dann gehen auch bei Dir 
die SD-Karten.


Gruß
Manfred

von Peter S. (petersieg)


Lesenswert?

mkBurkersdorf schrieb:
> @Peter Tausche mal die Anschlüsse PB4 und PB5 ,dann gehen auch bei Dir
> die SD-Karten.

Hää??

Eine 2GB Karte läuft doch bei mir.. nur 2 andere nicht.. wie kann durch 
Tauschen zweier Signalleitungen daran etwas geändert werden.. entweder 
hab ich das überhaupt nicht verstanden oder ich stehe auch dem 
Schlauch..

Und Version 0.24.. wo gibts die.. was ist da gegenüber 0.23 geändert..?

Peter

von mkBurkersdorf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,

Die SD-Karten werden jetzt erkannt und die Tape werden angezeigt. Es war 
bei
mir die Vertauschung von PB4 und PB5.
Ich habe jetzt 6 unterschiedliche Karten getestet.
Danke für für Deine Bemühungen und Deine Geduld.


Gruß
Manfred

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter

Ich habe ja das Layout vom der Basic Variante erstellt, und da war bei 
mir
die PB4 und PB5 vertauscht.
Die V0.24 wird bei der letzten Version vom 17.11. 01:36 Uhr von Jörg 
angezeigt.

Bei mir gehen jetzt alle SD-Karten.

Gruß
Manfred

von Peter S. (petersieg)


Lesenswert?

Ahh.. nun ich wünschte ich hätte bessere Nachrichten..
0.24 bringt bei mir nach vielen Sekunden E=ACMD41 :-(
Die 0.23 hat mit dieser Karte gearbeitet (nach Reset)!

Ich werde mir morgen mal noch eine 1-2GB Karte holen..

Peter

von Peter S. (petersieg)


Lesenswert?

Noch schnell mal mit der 512MB (Elite Pro) aus dem Bilderrahmen 
getestet.
Diese lief unter 0.23 nicht. 0.24 = SDV1 CARD - NO FORMAT

??

Unter Windows alles ok. FAT formatiert.

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

das NO FORMAT bedeutet lediglich, dass keine Image-Datei gefunden wurde. 
Vieleicht ändere ich das noch in NO-IMAGE um, damit es eindeutiger wird.

Gruß Jörg

von Peter S. (petersieg)


Lesenswert?

Ahh.. die hatte ich aber nach dem formatieren drauf kopiert..
war also da als AX81 gestartet wurde..

Gruß Peter

von neua (Gast)


Lesenswert?

V0.24 ???
Ich finde bei Jörg nur V0.23.

Wo gibt es die 24ziger?

danke.

gruss

von Peter S. (petersieg)


Lesenswert?

mkBurkersdorf schrieb:
> Die V0.24 wird bei der letzten Version vom 17.11. 01:36 Uhr von Jörg
> angezeigt.

lies mal ein bißchen hoch..

Peter

von neua (Gast)


Lesenswert?

Hmm..., kann ich wirklich nichts erkennen oder muss ich eine neue 
Fielman...?

gruss

http://www.jcwolfram.de/downloads/main.php#ax81

von neua (Gast)


Lesenswert?

Jup, die Homeseite wurde noch nicht aktualisiert. Du meinst hier weiter 
oben.
Alles klar.

Meldung beim Einschalten: SDV2-CArd FORMATTED.

Es sind 3 Programme in das Image geladen worden.
Wie kann ich die jetzt sichtbar auflisten bzw laden ?

Oder sagt die Einschaltmeldung etwas anderes aus für die SD-Karte?

danke.

gruss

von neua (Gast)


Lesenswert?

ZX81-Befehle...
Wenn ich die Tasten bediene, kommen die fertigen Befehle, gemäss der 
Logik vom ZX81.
Der Befehl LLIST ist nicht vorhanden im Befehlsset. Bei welcher Taste 
ist der gespeichert? bzw oder muss man irgendwie in den Editormodus 
wechseln um Text bzw LLIst einzugeben ?

danke.

gruss

von Peter S. (petersieg)


Lesenswert?

neua schrieb:
> Der Befehl LLIST ist nicht vorhanden im Befehlsset.

Mann.. mann.. mann.

Lies das Tastaturbild mal richtig und frag nicht immer unnötige Fragen.
(Shift-G wirst du dann auch finden..)

Peter

von neua (Gast)


Lesenswert?

Jup, danke. Die Drittbelegung der Tasten habe ich übersehen.

Ich kann mit der Auflistung noch keine Dateien sehen im ZX81.
Was mache ich schon wieder falsch.....?

Auf der SD-Karte den Ordner Tool draufgepackt , dann mit der Exe das 
Image und den Ordner TAPES erzeugt. Die Exe wieder gelöscht.

Karte in die Platine gesteckt, 1284p gestartet.
Mit LLIST gestartet, es kommt eine Auflistung nach der Reihenfolge aber 
nur die Listzahlen,keine Programmnamen?

Ist das Image leer? oder ist meine Karte defekt?

danke.

gruss

von neua (Gast)


Lesenswert?

Ist geklärt.
Mit dem Hexeditor kann ich keine Datein im Image erkennen.
Habe die jetzt reingeladen.

danke.

gruss

von neua (Gast)


Lesenswert?

Habe jetzt die 4 Tapes geladen von deiner Seite.

Lassen sich alle wunderbar umschalten mit POKE 99,... und kann die zum 
laufen bringen ohne Beanstandungen.

Ich habe eine Micro-SD-karte in einem Adapter, auch diese kleinen Dinger 
laufen.

danke.

gruss

von neua (Gast)


Lesenswert?

Es funktioniert wunderbar und problemlos.
Ich sage das , weil ich Anfänger bin in Sachen Atmega.

Hallo, in wieweit ist dieses Projekt kompatibel zum ZX81 ?

Geht es hierbei um die Spielbarkeit von Programmen oder werden bestimmte 
Baugruppen hochprozentig Emuliert, fast in Echtzeit.

Mich würde mal Interessieren welche Baugruppen das sind, 
Z80-Prozessor,ULA usw...

Könnte man bei diesem Projekt die VGA-LCD-Darstellung nicht weglassen.
Der ZX81 hat diese Möglichkeit auch nicht und ist heute auch immer noch 
im original Faszinierend.

Die kleinen TFT-Monitore/Fernseher 8/10/12...Zoll sind in der 
Bildklarheit dem PC-Monitor hier im Projekt fast ebenbürtig. Sind sogar 
günstiger als ein LCD-Display, welches bei einer Bewegung (Bildwechsel) 
doch nicht unerhebliche Bewegungsschlieren verursacht.
Und ein PAL_Signal ist ja auch nicht mehr das Problem, wie ich manchmal 
gelesen habe ist das PAL-Signal für den Programmierer leichter zu 
Handhaben auf diesen Platinen wie ein VGA-Signal.

Warum wird eigentlich das VGA-Signal hier noch so oft genutzt?

Welche Möglichkeiten werden gibt es noch um den Speicher zu erweitern?

Gibt es vielleicht bald den 2568p mit 32 oder sogar 64KB Ramspeicher?

Vielen dank für die Unermüdliche Hilfe, einen Anfänger der dieses 
Projekt zum laufen bekommen hat.

danke.

gruss

von Peter S. (petersieg)


Lesenswert?

@neua: Danke dir für deine positiven Rückmeldungen! Micro-SD inkl. 
Adapter habe ich glaube auch noch irgendwo liegen.. probiere ich dann 
mal..

Schön. das er jetzt bei dir läuft!

Im Forum64 wird z.Z eine Sammelbestellung für Platinen dazu organisiert.
Und ja. Um daran teilzunehmen muss man sich anmelden im Forum - sorry
aber das Ganze ist so schon aufwendig genug, als das ich das auch noch 
an
verschiedenen Stellen zusammenführen könnte/wollte..
(Wer noch nie sowas organisiert hat, weiß gar nicht was da an Aufwand 
hinter steckt)

Gruß Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo ,

Ich habe mal die .px- Dateien auf die SD-Karte kopiert. Sie werden abe 
im ZX81 nicht angezeigt. Im I-Net habe ich nach den Unterschied der 
Dateityen
gesucht aber nichts gefunden.
Mit dem MEGA1284p müßte auch der Speicher reichen. Was ist dabei zu 
beachten?

Gruß
Manfred

von Peter S. (petersieg)


Lesenswert?

Mit den *.px Dateien auf der Karte kann die Firmware rein gar nichts 
anfangen (von SD Karte zumindest..)!

Dir Firmware sucht fest nach einem (1) Image ax81_image.bin in der Größe 
von ca. 135MB (256x32x16kb). Wenn ein solches gefunden wurde, spielt 
sich alles nur noch in diesem Image ab.

Das leere Image wird über tool\install_fs erzeugt und dann über die 
000_write* jeweils pro virtuellem Tape befüllt..

Aber das musst du doch schon gewußt haben, denn der AX81 läuft doch 
schon bei dir..

Peter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Peter,

Danke für Deine Antwort.
Das mit dem Image und der Erstellung ist mir schon klar. Also kann ich 
die *.px Dateien nicht nutzen.

Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Die .PX Dateien braucht man nur für den Bootloader, die Endung habe ich 
willkürlich verwendet. Die auf die SD-Karte zu kopieren war nur eine 
Notlösung für Windows-Nutzer, als es die Image-Datei nicht gab.

Es werden der Z80, RAM und ROM, die ULA und eine 15,75K 
Speichererweiterung (nicht HRG fähig) emuliert. Das ROM habe ich etwas 
modifizieren müssen, z.B,. Videioausgabe (wird unabhängig vom AVR 
ausgeführt) und die Tape-Routinen. Dazu gibt es noch ein kleines 0,25K 
ROM bei 0x7f00 in dem u.a. die neue LLIST Routine untergebracht ist.
Vom Zeichensatz im ROM gibt es dann noch eine Kopie für den AVR, da 
ansonsten das Videotiming nicht zu schaffen ist.

VGA und LCD sind dafür da, dass es das Projekt überhaupt gibt. Einfach 
deswegen weil es reichlich unbequem ist, Programme am Couchtisch vor dem 
TV zu debuggen. Hin und wieder kontrolliere ich bei einer neuen Version, 
ob TV-Out noch geht, mehr aber auch nicht.

Für mehr RAM hatte ich schon Versuche mit der XRAM64 Erweiterung vom 
ChipBasic2 gemacht, bin aber nicht sehr weit gekommen (entweder zu 
langsam oder nicht stabil) und habe das Ganze dann auch eingestellt.

Gruß Jörg

von neuea (Gast)


Lesenswert?

Einfach deswegen weil es reichlich unbequem ist, Programme am Couchtisch 
vor dem TV zu debuggen.

Hmm.., ich habe mein 8-Zöller neben mein Atmegabord stehen und ist 
leichter zu Handhaben wie ein LCD was nur auf dem Tisch liegt, wozu man 
dann evtl noch einen Ständer Basteln muss.

danke.

gruss

von neuea (Gast)


Lesenswert?

http://avr.cwsurf.de/?AVR_CP%2FM

Könnte man den Speicher von diesem Stick nutzen für den ZX81 ?

gruss

von Joerg W. (joergwolfram)


Lesenswert?

Es gibt wieder ein neues Release, ich habe versucht die SD-Routinen noch 
etwas zu verbessern.

Gruß Jörg

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Danke für Dein neues Release. Die SD Karten werden erkannt, aber mit 
POKE 99,1..4 kann ich die Tape's nicht wechseln. Es wird immer Tape 000 
angezeigt. Bei der V0.24 geht es.


Gruß
Manfred

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Hab ich vergessen:  Ich benutze die 128p.

Gruß
Manfred

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Manfred,

danke für die Info, da ist leider schon wieder das alte File in den 
Build mit reingerutscht, ich hab das mal schnell ohne selbst testen zu 
können korrigiert.

Gruß Jörg

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Jörg,

Danke für die schnelle Änderung. Jetzt geht es.

Gruß
Manfred

von neua (Gast)


Lesenswert?

Hallo, grüss dich.
Bei dir kann V0.25 runterladen, aber drin ist V0.24.

Oder sit das die V0.25 nur nicht umbenannt.

danke.
gruss

von neua (Gast)


Lesenswert?

Hallo, grüss dich.
Bei dir kann die V0.25 runterladen, aber drin ist V0.24

Oder ist das die V0.25 , nur nicht umbenannt.

danke.
gruss

von Joerg W. (joergwolfram)


Lesenswert?

Ja, da war der Name noch falsch. Habe ich jetzt korrigiert.

Gruß Jörg

von neua (Gast)


Lesenswert?

Hallo, ich wollte mal den Source compilieren.
Wo gibt es die 1284..inc für dieses compilat?

danke.

gruss

von neua (Gast)


Lesenswert?

Ich habe eine INC , aber da wird der avrasm32.exe verlangt.

danke.

gruss

von Joerg W. (joergwolfram)


Lesenswert?

Da hab ich ehrlichgesagt keine Ahnung von, da ich nur den AVRA unter 
Linux nutze. Von anderen Projekten her weiss ich, daß der avrasm 
Probleme mit den vielen Makros im Quellcode hatte.

Gruß Jörg

von neua (Gast)


Lesenswert?

....Probleme mit den vielen Makros im Quellcode hatte.....

Das habe ich bei mir jetzt auch gehabt.

danke.

gruss

von Joerg W. (joergwolfram)


Lesenswert?

Ich kann bei Bedarf heute Abend eine asm Datei hochladen, in der alle 
Makros, Includes und bedingte Assemblierungen bereits aufgelöst sind und 
die sich so auch mit dem AVRASM32 übersetzen lassen sollte.
Da diese Datei zu einen anderen Zweck erzeugt wird, fehlen halt jegliche 
Kommentar- und Leerzeilen, Kommentare in coderelevanten Zeilen sind aber 
noch drin.

Gruß Jörg

von neua (Gast)


Lesenswert?

Hmmm...., das wäre Klasse.

Danke.

gruss

PS: Was ist die nächste Weiterentwicklung am ZX81 ?

von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Habe gerade Firmware 0.25 getestet. Die 512MB SD Karte, die bisher nicht 
wollte, läuft nun! Prima!

Hier ein paar Bilder mit einer zweckentfremdeten mmc2iec Platine ;-)

Peter

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei die Quelldatei, die sich mit dem AVRASM übersetzen lassen sollte. 
Getestet habe ich es nicht, eventuell könnten schon noch ein paar Fehler 
auftreten aber die sollten dann leicht zu korrigieren sein.
Weiterentwicklung ist erstmal nicht geplant, zumindest nicht auf Basis 
des aktuellen Releases. Bei Gelegenheit werde ich aber noch ein paar 
Programme testen und zu Tapes zusammenstellen.

Gruß Jörg

von neua (Gast)


Lesenswert?

Jup, danke. Lässt sich fehlerfrei mit dem AVRASM32.EXE compilieren für 
den 1284 und läuft fehlerfrei auf dem Atmega.

Klasse.

gruss

von Günter R. (diddleybow)


Lesenswert?

Hallo!
Wieder mal ein schönes Projekt. Respekt.
Habe zwei Fragen :
1. Welche SD-Karten laufen? Ich habe im Moment nur 2GB-SD-Karten
2. Wäre eine Pegelwandlung zwischen AVR zu SD-Karte und/oder den 
Flash-Chips z.B. mit 74AHC125 nicht sicherer?
Vielen Dank im Voraus

Gruß
Günter

von mkBurkersdorf (Gast)


Lesenswert?

Hallo Günter,

Ich habe unterschiedliche SD-Karten getestet, no Name und Markenkarten 
1GB und 2GB sie gehen alle.

Gruß
Manfred

von Günter R. (diddleybow)


Lesenswert?

Hallo Manfred!
Danke für die Auskunft, dann bin ich schon mal beruhigt. Man bekommt 
fast nur noch 2GB und größere Kapazitäten und ab und an noch 1GB. 2GB 
hat sich wohl bei AVR- und Propellerprojekten zum Quasistandard 
entwickelt. Dann mach ich mal mit meinem Platinenentwurf weiter.

Gruß
Günter

von Joerg W. (joergwolfram)


Lesenswert?

Der AT45DB081 hat 5V tolerante Eingänge, so dass man nur die 3,3V 
Versorgungsspannung für den Chip bereitstellen muss. Solange beim 
Schreiben die Spannung nicht unter 2,7V absinkt, reicht eine passende 
LED zur Spannungsreduzierung völlig aus.
Bei der SD-Karte wäre ein Pegelwandler sicherlich die elegantere Lösung 
aber halt auch mehr Aufwand.

Gruß Jörg

von Günter R. (diddleybow)


Lesenswert?

Hallo Jörg!
Danke für die Auskunft.
Ich hatte nur im Sinn eine einheitliche Schnittstelle via SD-Slot für 
verschiedene SPI-Devices bei meiner AX81-Board-Entwicklung zur Verfügung 
zu stellen. Ähnliches habe ich schon für ein Propeller-Board 
verwirklicht und werde es auch bei einigen Neu- und Weiterentwicklungen 
auf Propellerbasis weiter verwenden. Mit einer separaten 3,3V Versorgung 
sowie einem Levelshifter wäre das zwar eine aufwendigere aber mMn 
sichere Schnittstelle. Wenn man so etwas nicht machen will ist Deine 
Lösung durchaus akzeptabel.

Gruß
Günter

von Günter R. (diddleybow)


Angehängte Dateien:

Lesenswert?

Hallo!

@admin : Ich hoffe ich kann diesen Beitrag hier einfügen. Falls nicht 
bitte löschen.

Jetzt hab ich mal einen kleinen eagle-Entwurf zu meinem AX81 gemacht.
Die Platine ist 67,5mm x 100mm groß und paßt in ein Fischer-Alu-Gehäuse. 
In der selben Größe habe ich auch meinen "microPC" auf Propellerbasis 
gebaut.
Der SPI-Bus für die SD-Karte und/oder AT45DB081-Karte ist mit einem 
74AHC125 als Pegelanpasser/Buffer versehen. Auf der Front befinden sich 
die Keyboardbuchse, der SD-Slot und ein 4fach Mäuseklavier für die 
Jumper J1, J2 und J3 und für die Brücke von Port D3 nach C7. Somit kann 
ich bei geschlossenem Gehäuse zwischen Video oder VGA umschalten.
Ich hoffe diese Brücke ist wie auf der Homepage von Jörg angegeben noch 
aktuell für VGA-Ausgabe.
Auf der Rückseite befinden sich VGA-, Video-, Spannungsversorgungsbuchse 
und ein Reset-Schalter. Auf dem Board befinden sich noch zu Programmier- 
und Experimentierzwecken bei offenem Gehäuse Wannenstecker für ISP, 
Serielle-, I2C- und Parallelport-Leitungen.
Der SD-Kartenslot ist so günstig gebaut, daß man auch kleine Platinen 
(1,55mm dick) mit SPI-Devices einschieben kann (Flash-Speicher, 
AD-Wandler, Funkmodule etc.).
Ich habe mal ein Bild vom AX81-Boardlayout und vom Propeller-PC im 
Vergleich zu einer 2,5" HD sowie einer SD-Modulplatine beigefügt. Falls 
das Gerät mal funktioniert werde ich das Layout auch zu allgemeinem 
Gebrauch veröffentlichen.

Gruß
Günter

von HolgerW (Gast)


Lesenswert?

Ich verfolge das schon eine ganze Weile, auch mein "Erster" war ein 
ZX81.
Die Platine sieht richtig gut aus, würde schon mal Interesse anmelden.
Im forum64 gehts gerade nicht richtig weiter mit der Platine... (oder 
hab ich was verpasst?)

Holger

von Peter S. (petersieg)


Lesenswert?

@Günter: Sieht gut aus!
Ich denke das kann man ggf. noch mit der Sammelbestellung im Forum64 
verbinden.. dort gibt es schon 23 Interessenten und die Platine ist noch
nicht festgelegt.. je größer die Stückzahl wird, so geringer wird der 
Preis.

Peter

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Günter R. schrieb:
> Fischer-Alu-Gehäuse

Ist es dieses Gehäuse?: AKG D 71 24
Wo kaufst du es?

Joe

von Günter R. (diddleybow)


Lesenswert?

Hallo!

@HolgerW
Mein erster Heimcomputer war auch der ZX81, dieser existiert noch als 
Orginal. Einen weiteren ZX81 hab ich damals mal in ein Memotech 
Tastaturgehäuse eingebaut und mit einer selbstgebauten 
Speichererweiterung nebst Busbuffer versehen.

@Peter Sieg
Dank. Für den Entwurf (sind schon ein paar kleine Änderungen nötig 
geworden) laß ich mir eine Prototypplatine machen und dann sehen wir mal 
weiter. Ich veröffentliche ungern Schaltpläne ohne das Gerät selber 
getestet zu haben. Ich hoffe die Platine noch vor Weihnachten zu 
bekommen.

@Joe G
Das Gehäuse ist von Reichelt, AKG 71 24 100 ME.

Weitere Bilder von dem Propeller basierten Gerät sind hier zu finden :
http://hive-project.de/board/viewtopic.php?f=12&t=330.
Damit kann man sich den zukünftigen Aufbau des AX81 leichter vorstellen. 
Da ich im Hive-Forum seit längerem "zu Hause" bin, werde ich dort einen 
Baubericht und die Erfahrungen mit dem AX81 veröffentlichen.

Gruß
Günter

von Holger W. (holgerw)


Lesenswert?

ich würde mich freuen wenn es zu einer Platine kommt, ich würde auch 
eine eigene entwerfen um den ZX81 nachzubauen. Schönes Projekt und Hut 
ab soetwas umzusetzen !!!
Meinen habe ich vor zig Jahren (leider) verkauft, wenn ich bedenke was 
der mich mal gekostet hat...
Ein Freund hat noch einen, aber keine Programme mehr dazu.
Ich freu mich schon richtig auf Mazogs, mein Lieblingsspiel ...

Holger

von neua (Gast)


Lesenswert?

Hallo, die Propellerplatine gefällt mir, wenn dort der ZX81 drauf läuft.

Wie kommt man denn beim Propeller mit dem RAM aus, der hat ja nicht 
soviel und die I2C-EEprom , die er selber auch benutzt sind doch zu 
langsam für den ZX81?

gruss

von Günter R. (diddleybow)


Lesenswert?

Hallo!
@neua
Ich hatte stillschweigend vorausgesetz, daß allen bekannt ist, daß der 
AX81 auf ATmega-Basis läuft.;)
Das o.a. Bild und der Link zum probellerbasierten Minirechner ist nur 
zur Verdeutlichung der Platinenausmaße und Gehäuseansicht gedacht 
gewesen. Auf jenem Gerät kann das AX81 Programm natürlich nicht laufen.
Um diesen Thread nicht noch mehr zu stören läuft alles Weitere zu meinem 
AX81-Boardentwurf hier:
http://hive-project.de/board/viewtopic.php?f=12&t=524

Gruß
Günter

von Günter R. (diddleybow)


Lesenswert?

Hallo!

Jetzt habe ich noch eine Frage zum VGA-Format die vom ChipBasic und vom 
AX81 erzeugt werden. Darüber habe ich bis jetzt noch nichts gefunden. Da 
ich nur noch einen LCD-Monitor habe, ist die verarbeitbare Frequenz 
etwas eingeschränkt. Mein Monitor verarbeitet nur Auflösungen von 
640x480 bis 1240x1024 mit 60Hz oder 75Hz. Die Toleranz/Abweichung dabei 
liegt bei < 1Hz.
Kann man gegebenenfalls die Software dahingehend selber anpassen?
Schönen Dank im Voraus.

Gruß
Günter

von Joerg W. (joergwolfram)


Lesenswert?

Das horizontale Timing steht in der "timing.asm" im libmio-Ordner, das 
vertikale in "vint_vga1.asm". Das horizontale Timing ist aber schon 
recht knapp damit das Bild überhaupt auf den Monitor passt und es auch 
keine Bildstörungen gibt. Eventuell reicht es aus, die Zeilenzahl zu 
verringern, damit man genau auf 69Hz vertikal kommt.

Ich habe auch schon 24 MHz Clock ausprobiert, das gibt eine bessere 
Darstellung wenn man die Parameter entsprechend anpasst. Veröffentlichen 
werde ich diese (Develop-)Version aber nicht, da dann sofort 
"Beschwerden" wegen fehlender SD-Karten Unterstützung und nicht 
funktionierendem TV-OUT kommen werden.

Gruß Jörg

von Günter R. (diddleybow)


Lesenswert?

Hallo!
Jörg, danke vielmals für die super AX81-Software und Deine 
Hardwareentwicklungen, die einem ein Anpassen an eigene Wünsche zum 
Kinderspiel werden ließ.
Ein Ändern der VGA-Einstellungen ist für mich nicht nötig geworden.
Löten, Brennen, läuft und auf dem VGA- und TV-Bildschirm sieht es wie 
vor 30 Jahren aus.
Weitere Details etc. wieder im Hive-Projekt-Forum.

Allen wünsche ich ein frohes Fest und ruhige Festtage und guten Rutsch 
ins nächste Jahr........

Gruß
Günter

von luther s. (mike3)


Lesenswert?

hello i am trying to use ponyprg and a serial programmer to program a 
atmega644 as AX81 but can't figure the set bit configure,,,can someone 
help.. much appreciation... thanks...

mike

von Peter Sieg (Gast)


Lesenswert?

@Mike: Just using 1284P with avrdude under win$:
1
avrdude -c usbtiny -p m1284p -e -U flash:w:ax81.hex
2
avrdude -c usbtiny -p m1284p -U lfuse:w:0xe6:m -U hfuse:w:0xd1:m -U efuse:w:0xfc:m

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo,

es gibt eine neue (Bugfix-) Version vom AX81. Und zwar wurde anstelle 
von OR A ein OR L durchgeführt. Da bei meinem Emulator-Testprogramm an 
dieser Stelle das Register L den Wert 0 hat und der Befehl wohl sehr 
selten verwendet wird, ist das bisher nicht aufgefallen.
Weiterhin habe ich zu Beginn des Jahres die "Aussperrung" von iPAD und 
iPhone aufgehoben. Das Ganze war sowieso hauptsächlich für mich als 
Nachweis gedacht, dass die Benutzung derartiger geschlossener Systeme 
die subjektive Wahrnehmung durchaus verzerren kann.

Jörg

von David R. (retrogadgets)


Lesenswert?

Peter Sieg schrieb:
> Habe gerade Firmware 0.25 getestet. Die 512MB SD Karte, die bisher nicht
> wollte, läuft nun! Prima!
>
> Hier ein paar Bilder mit einer zweckentfremdeten mmc2iec Platine ;-)
>
> Peter



Dear Peter

hope you can help me.

In a rush to complete and make a ax81 after viewing your pictures, i 
have purchased one of these MMC2IEC boards from Donalds online shop,  i 
have a couple of questions.

1. the preprogrammed 1284p will it boot the ax81 sd image?

2. or is the 1284p wanting to boot something else.

3. can the 1284p be re programmed with the ax81 hexcode ?

4. were can i obtain the firmware 0.25 or 0.24. as you advise of.

hope you can help me.   i have joined the forum-64 for a ax81 board.

David

von Peter Sieg (Gast)


Lesenswert?

@David:

1. the preprogrammed 1284p will it boot the ax81 sd image?
-> The one for mmc2iec? No!

2. or is the 1284p wanting to boot something else.
-> Sure: sd2iec firmware probably..

3. can the 1284p be re programmed with the ax81 hexcode ?
-> Yes.

4. were can i obtain the firmware 0.25 or 0.24. as you advise of.
-> Look on Jörg Wolframs site.

Peter

von Peter Sieg (Gast)


Lesenswert?

Hmm.. ich finde die Windows Tools nicht mehr um das Fielsystem zu bilden 
und zu beschreiben (000_write_to_image.exe)..??

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

die Tools werden erst durch den Installer geschrieben, in der Package 
selbst existieren sie nicht.

Jörg

von Peter Sieg (Gast)


Lesenswert?

ok, Aber wo ist der Installer..?

Gruß, Peter

von Joerg W. (joergwolfram)


Lesenswert?

Zum Beispiel hier:

ax81_026-binary.tar.gz/tool/install_fs.exe

Jörg

von Peter Sieg (Gast)


Lesenswert?

Upps. ;-)

Danke! Hätte mir wohl doch erst die 0.26 Firmware ziehen sollen..

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Bei der 0.25 ist es auch dabei, die 0.26 war ja nur eine Bugfix-Version 
da der Emulator einen (seltenen) Befehl falsch ausgeführt hatte. Der Bug 
ist mir aber erst vor kurzem aufgefallen, da TFORTH die Tasten falsch 
ausgewertet hatte.

Jörg

von Peter Sieg (Gast)


Lesenswert?

Jup. Die 0.26 meldet sich übrigens noch mit 0.25..

Danke+Gruß, Peter

von Joerg W. (joergwolfram)


Lesenswert?

Gestern hat sich beim Test mit dem Spectrum-ROM ein weiterer Fehler in 
der Emulation herausgestellt, der beim ZX81 nicht auffällt. Und zwar 
scheint es auch im Netz widersprüchliche Dokumentationen zum DAA Befehl 
beim Z80 zu geben, insbesondere was das Flag-Handling anbetrifft. Dazu 
gibt es (wahrscheinlich heute abend) eine neue Bugfix-Version.

Die "zweite Generation" des AX81 wird auf der gleichen Hardwarebasis 
(nur noch Mega1284P und es wird nur noch PD3 als Video-Ausgabe-Port 
benutzt) mit 24MHz laufen und 6 verschiedene Modi erlauben:

- ZX81 normal
- ZX81 mit userdefinierten Zeichen (UDG)
- ZX81 mit userdefinierten Zeichen (CHRS128)
- ZX80
- Jupiter ACE
- ZX Spectrum (nur monochrom mit 15K RAM)

Da das Ganze damit 4 Images auf der SD-Karte benötigt, funktioniert die 
derzeitige Strategie zum Finden des Images nicht mehr. Deswegen müssen 
die Images einmalig im MBR "registriert" werden. Gleichzeitig dürfen die 
Images nun variable Größe (1-255 Tapes) haben. Die Programme dafür sind 
auch schon fast fertig, allerdings wird es von mir nur noch 
Perl-Scripte, C-Sourcen und Linux-Binaries geben. Wenn jemand sich die 
Mühe machen will, das auf andere OS zu portieren, kann er sich bei mir 
gerne zwecks weiterer Info melden.

Gruß Jörg

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hallo,

die neue Version (0.27) behebt zwei Bugs. Zum einen funktionierte der 
DAA-Befehl nicht in allen Fällen korrekt. Zum anderen wurde bei TV (und 
teilweise VGA) die oberste Bildzeile "verschluckt". Download geht über 
meine Seite:

http://www.jcwolfram.de/projekte/avr/ax81/main.php

Ausserdem habe ich eine Testversion der zweiten Generation angehängt, 
allerdings ist die noch ohne File-IO. Hardware ist die gleiche, der 
Quarz muss aber durch einen mit 24MHz (25MHz sollten auch gehen) ersetzt 
werden. Die LLIST Funktion habe ich aufgegeben, stattdessen wird diese 
Funktionalität über F9 aufgerufen (ESC kehrt zurück).
Über die Taste F12 kann ein kleines Monitorprogramm aufgerufen werden.
1
ESC    = Rückkehr zum Emulator
2
B      = Eingabe der Breakpointadresse
3
D      = Memory Dump ab 0x4000
4
S      = Memory Dump ab 0x0000
5
PAGE+  = Memory Dump weiterblättern
6
PAGE-  = Memory Dump zurückblättern
7
V      = View (switch zum Emulator-Screen)
8
SPACE  = Single Step

Singlestep bei Jupiter ACE und ZX Spectrum führt allerdings meist zur 
Adresse 0x38, da hier auch der Interrupt emuliert wird.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Na, da muss ich wohl wieder basteln.. ;-)
25MHz Quarze sind glaube ich verbreiteter, da sie auf LAN Karten drauf 
sind.

Sind denn die Firmware ROM's hier in der HEX schon mit drin..?
Denn File-IO fehlt ja noch..?

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

die 24MHz Quarze hatte ich noch da liegen, 25MHz müsste ich mir erst 
besorgen. Die (gepatchten) ROM-Images sind selbstversändlich mit drin, 
denn die werden ja auch im Flash adressiert.

Gruß Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Mittlerweile gibt es vom AX82 schon einen Prototypen, für den habe ich 
den Emulator massiv modifizieren müssen. Der ATMega allein reicht daufür 
nicht aus, dazu kommen noch externes SRAM und ein kleines CPLD 
(Adresslatch und Video-Shifter/Farbe). Bei TV hat er ungefähr 100% 
Original-Geschwindigkeit
und bei VGA ca. 78% (25MHz Takt). Da der neue Emulator kompatibler und 
wohl auch schneller ist, würde ich ihn auch in den AX81 
"zurückportieren".
Allerdings will nur noch eine der beiden Varianten vom AX81 (20MHz, nur 
ZX81 oder 24/25MHz, verschiedene Systeme) weiter pflegen. Daher von mir 
jetzt die Frage, an welcher Variante mehr Interesse besteht.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Ich bin für:
24/25MHz, verschiedene Systeme

Gruß Peter

von Norbert K. (Gast)


Lesenswert?

Hallo Joerg,
ich verfolge mit großem Interesse seit einiger Zeit Deine Projekte.
Ich wäre dafür die "24/25Mhz verschiedene Systeme" weiter zu pflegen, 
wobei ich besonders den Jupiter Ace interessant finde.

Gruß Norbert

von Joerg W. (joergwolfram)


Lesenswert?

So wird es dann auch wohl werden. Lediglich die Spectrum-Mono Emulation 
wird rausfliegen, das kann der (kommende) AX82 viel besser und es 
vereinfacht den Code, da dann wieder alle ROMs in 32K passen und man 
nicht ständig das RAMPZ Register umschalten muss. Da der neue Emulator 
jetzt auch Interrupts unterstützt, müssen die ROM anders gepatcht 
werden. Dafür sollte sich aber auch die Kompatibilität erhöhen, beim 
Spectrum-Emulator komme ich bereits mit einem ungepatchten ROM aus und 
ca. 90% der Programme laufen.
Da das jetzige Filesystem nicht auf mehrere Images ausgelegt ist, werden 
sie zukünftig im Wurzelverzeichnis der ersten FAT16-Partition gesucht. 
Die Lösung mit der Registrierung der Images im MBR habe ich wieder 
aufgegeben, da das mit Perl-Scripten alleine sehr umständlich und vor 
allen Dingen sicher auch systemabhängig ist.

Vorstellbar wäre auch der Anschluss einer Paralleltastatur über einen 
zweiten Controller und I2C. Der könnte dann auch das Tape-Interface 
emulieren.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Hört sich alles ganz schmackhaft an.. ;-)

Prima!

Gruß Peter

von Hozenplotz (Gast)


Lesenswert?

Hi
Ein Superprojekt was der örg da auf die Beine gestellt hat "Hut ab"
Ich habe ja eigentlich wenig mit diesen Dingen zu tun,aber ich würde mir 
zum Spass auch solch ein Gerät mal aufbauen.

Dieser Niele,wollte doch ein  wie er schrieb "selbst-ätzbares, 
einseitiges Layout." erstellen.
Ist dies denn geschehen und wenn ja,wird dieses dann hier online 
gestellt?

Gruß
Eddy

von Günter R. (diddleybow)


Lesenswert?

Hallo!
Hozenplotz schrieb:
> Dieser Niele,wollte doch ein  wie er schrieb "selbst-ätzbares,
> einseitiges Layout." erstellen.

Ääääähhhhhh.....welcher Niele ? Ich finde in diesem Thread leider keinen 
der so heißt.

@Jörg Wolfram
Was hat sich denn bei der neuen Version des AX81 außer der Erhöhung der 
Quarzfrequenz auf 24/25MHz an der Schaltung getan ?

Auf den AX82 bin ich schon sehr gespannt.


Gruß
Günter

von Bal T. (baltic)


Lesenswert?

Günter R. schrieb:

> @Jörg Wolfram
> Was hat sich denn bei der neuen Version des AX81 außer der Erhöhung der
> Quarzfrequenz auf 24/25MHz an der Schaltung getan ?

Hallo Günter,

die Änderungen hatte Jörg schon mal kurz angesprochen, schau mal hier:

Beitrag "Re: AX81 - ZX81 im AVR"


Beste Grüße,

Jens

von Hozenplotz (Gast)


Lesenswert?

Der hat wohl auch nur einen Beitrag geschrieben ...ziemlich im oberen 
Drittel

Nils S.
>           (Firma: SpectraLight MM)
>         (kruemeltee)
>
>       Datum: 11.11.2011 14:12
>
>
>
>
>
>
>       Wenn du mir die Eagle-Daten (SD-Slot lib, mega1284p lib und deinen
> Schaltplan im eagle Format) hochlädst, mach ich dir ein schönes
> selbst-ätzbares, einseitiges Layout.
>
> Zusätzlich würde ich dann noch die AD-Kanäle und ISP auf
> Standard-Pfostenstecker rausführen.
























































































































































































>
>
>
>
>       Autor:
>
>         Nils S.
>           (Firma: SpectraLight MM)
>
>
>     >
>       Datum: 11.11.2011 14:12
>
>
>
>
>
>
>
>
>
>
>       Wenn du mir die Eagle-Daten (SD-Slot lib, mega1284p lib und deinen
> Schaltplan im eagle Format) hochlädst, mach ich dir ein schönes
> selbst-ätzbares, einseitiges Layout.
>
> Zusätzlich würde ich dann noch die AD-Kanäle und ISP auf
> Standard-Pfostenstecker rausführen.

von Günter R. (diddleybow)


Lesenswert?

Hallo Jens!
Dein verlinkter Post zielt eher auf den AX82 als auf den AX81. Der AX82 
hat soweit ich das verstehe sowieso einiges zusätzlich an anderer 
Hardware als die AX81-Hardware.

In diesem Post : Beitrag "Re: AX81 - ZX81 im AVR"
ist aber für den AX81 wohl nach meinem Verständnis nur noch ein 
Ausgabeport für Video vorgesehen, ist dann VGA-Ausgabe noch da ?. Eine 
andere Frage ist, womit die Auswahl eines der Systeme ZX80, ZX81, 
Jupiter-Ace) auf der AX81-Hardware erfolgt.
Für mich persönlich stellt sich die Frage, ob ich auf meiner Platine nur 
den Quarz auslöten und einen 25MHz Quarz einlöten muß oder eventuell 
zusätzlich die Verdrahtung geändert werden muß. Je nach Aufwand lasse 
ich für meine Hardware (Platine AX81-GKR) dann die Version 0.27 als 
letzten Software-Stand einfrieren und warte gegebenenfalls auf die 
Schaltung für den AX82.

Gruß
Günter

von Günter R. (diddleybow)


Lesenswert?

Hozenplotz schrieb:
> Der hat wohl auch nur einen Beitrag geschrieben ...ziemlich im oberen
> Drittel
>
> Nils S.
Ahhhhhhhhh..... Nils also?
Von der Platine hab ich auch nichts mehr gehört.

Ich hatte mal eine eigene Platine entworfen und mir anfertigen lassen.
Ich wollte nun mal abklären was es da eventuell für Hardwareänderunge 
gibt um die zukünftigen Versionen von AX81 auf meiner Hardware laufen zu 
lassen.

Gruß
Günter

von Joerg W. (joergwolfram)


Lesenswert?

Hardwaremäßig hat man mehr Möglichkeiten, da das Videosignal nun auch 
für TV vom UART1 erzeugt wird. Auf die bestehende Hardware hat das 
keinen Einfluss, lediglich die Brücke von PTD3 zu den RGB Signalen ist 
Pflicht. Andererseits kann man bei neuen Designs das Videosignal direkt 
an PTD3 abnehmen und die Config-Jumper auf PTB 1-3 legen. Somit hätte 
man dann PORTC komplett für andere Dinge wie z.B. Parallelport oder 
Parallel-Keyboard frei.
Von der Softwareseite wird sich dagegen eine ganze Menge ändern. 
Anstelle von LLIST und POKE 99,x lässt sich dann mittels Funktionstaste 
ein "Tape-Manager" öffnen. Da der für alle Systeme identisch ist, werde 
ich die Dateinamen generell auf ASCII umstellen, was leider die 
bestehenden Images zum neuen System inkompatibel macht. Die Auswahl des 
Systems erfolgt im Startmenü und wird im EEPROM gespeichert.

Jörg

von Günter R. (diddleybow)


Lesenswert?

Hallo Jörg!

Schönen Dank für die rasche Auskunft.
Wenn ich das alles richtig verstanden habe werden die drei Jumper (bei 
mir Dip-Schalter 1 bis 3) weiterhin für die Wahl zwischen TV(NTSC/PAL), 
LCD und VGA benutzt und können weiterhin auch auf den vorhandenen 
Portleitungen PTC2, PTC3 und PTC4 bleiben. Der Anschluß PTD3 geht bei 
mir an den Dip-Schalter 4 und bleibt nun bei TV- und VGA-Anschluß 
geschlossen (Brücke zwischen PTD3 zum PTC7), Jumper zwischen R- und G- 
sowie R- und B-Signal geschlossen.

Wenn nun jemand die von Dir vorgeschlagene Verlegung der Config Jumper 
auf PTB1 - 3 machen möchte, kann man das in der Software dann variabel 
gestalten (z.B. durch User änderbares Configfile), so daß beide 
Hardwarevarianten weiterhin benutzt werden können?

Gruß
Günter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Günter,

Im Moment ist es so, dass die Pinbelegung beim Assemblieren über eine 
Config-Datei festgelegt wird. Ein Einlesen von SD-Karte zur Laufzeit ist 
nicht vorgesehen. Aber es wird sicher mehrere Hexfiles geben.

Gruß Jörg

von Günter R. (diddleybow)


Lesenswert?

Hallo Jörg!
Danke für die Auskunft, das schafft Klarheit.
Dann werde ich mal versuchen den Quarz aus- und zwei Präzisionsfassungen 
einzulöten. Dann kann man mal den Quarz ohne löten wechseln.

Gruß
Günter

von Andreas R. (Gast)


Lesenswert?

Hallo Jörg,

ich habe Deinen ax81 mit einem ATMEGA1284P nachgebaut und es hat alles 
praktisch auf Anhieb funktioniert! Danke für das ausserordentlich 
interessante Projekt!

Ausprobiert habe ich bis jetzt die Video-Ausgabe (über SCART in einen 
ältlichen Röhrenfernseher) und verwende eine alte PS/2 Tastatur zur 
Eingabe und eine 1 GB SD-Karte (Platinum) als Massenspeicher. Zur Zeit 
verwende ich v0.27 Deiner Software.

Ich würde nun gerne das Pollin-GLCD WINTEK WD-H3224V an den ax81 
anhängen; würde das gehen? In Deiner Schaltung werden für das LCD die 
Signale FLM, CP, und LOAD generiert, aber ich weiss nicht, wo ich das 
Signal M hernehmen soll, das für das Pollin-GLCD wohl benötigt wird; das 
hat mit AC-Generierung für das LCD zu tun - das Pollin-"Datenbatt" zum 
WINTEK WD-H3224V ist in der Hinsicht etwas dürftig).

Grüsse, Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Man könnte das M-Signal z.B. mit einem D-FlipFlop (74LS74) aus dem FLM 
Signal erzeugen. Alternativ ließe sich das VSYNC Signal dafür 
entsprechend programmieren, das wäre dann die einfachste Lösung ohne 
zusätzliche Hardware. Wenn ich dazukomme, kann ich am WE ein Update 
erstellen.

Gruß Jörg

von Andreas R. (Gast)


Lesenswert?

Hallo Jörg,

danke für die Antwort.

Ich habe mir mittlerweile auch schon überlegt, aus dem FLM-Signal mit 
einem Flipflop das M-Signal zu generieren, aber wenn der ATmega das 
übernehmen könnte wäre es natürlich ideal.

Ich bin dann mal auf das Update gespannt...

Grüsse und schönes Wochenende,

Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Leider hat es noch ein bisschen länger gedauert, neben der Ausgabe des 
30Hz-Signals am VSYNC Ausgang behebt die aktuelle Version (0.28) auch 
noch einen Bug. Und zwar wurde bei LDI/CPI/LDR/CPR das BC Register 
falsch dekrementiert (-256 statt -1). Binary- und Sourcepaket sind von 
meiner Homepage downloadbar.

http://www.jcwolfram.de/projekte/avr/ax81/main.php

Mit der "neuen" Variante bin ich fast fertig, die Dokumentation steht 
aber noch aus. Bei Interesse kann ich hier hin und wieder eine 
Testversion posten.

Am Sonntag bin ich beim VCFe in München, dort wird es auf jeden Fall die 
aktuellen Versionen vom AX81 und auch AX82 (Spectrum-Emulator) zum 
Testen geben.

Gruß Jörg

von Andreas R. (Gast)


Lesenswert?

Hallo Jörg,

danke für das Update!

Ich habs gerade runtergeladen und mal ausprobiert. Da ich die von Pollin 
bestellten LCDs (WINTEK WD-H3224V) noch nicht erhalten habe kann ich den 
LCD-Modus heute noch nicht ausprobieren, aber laut meinem Oszilloskop 
scheinen die korrekten Signale für das LCD (incl. dem M-Signal) vom 
ATMEGA1284P zu kommen...


Grüsse,

Andreas

von Norbert K. (Gast)


Lesenswert?

Hallo Jörg,

ich kann leider nicht zum VCFe nach München kommen, würde aber gerne mal 
eine Testversion vom AX82 ausprobieren. Würde mich freuen wenn Du eine 
Testversion hier posten würdest.

Gruß
Norbert

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Norbert,

da der AX82 noch zusätzliche externe Komponenten braucht (SRAM, CPLD), 
muß ich dafür erstmal Schaltpläne etc. erstellen ohne die man das nicht 
ausprobieren kann. Das wird auf jeden Fall noch ein bisschen Zeit 
benötigen, denn erstmal will ich den AX81 in der neuen Version fertig 
machen.
Daher bezieht sich das "Testversion" auf den AX81. Ich will sehen, ob 
ich die Doku und die PC-Tools (zumindest zum Schreiben auf die Images) 
bis Ende der Woche fertigbekomme.

Gruß Jörg

von Norbert K. (Gast)


Lesenswert?

Hallo Jörg,

Danke für die Infos zum AX82. Bin dann mal gespannt auf den AX82, wenn 
alles fertig ist. Noch eine Frage zu Deinem Vortrag beim VCFe in München 
gibt es ein Video? Wenn ja wo kann man es online ansehen.

Gruß Norbert

von Andreas R. (Gast)


Lesenswert?

Hallo Jörg,

ich bin nun dazugekommen, das Pollin-LCD (WINTEK WD-H3224V) an den AX81 
anzuhängen - es funktioniert wunderbar, dank Deines Updates (v0.28) mit 
dem M-Signal. Falls es interessiert, die besten Ergebnisse hatte ich mit 
einer Kontrastspannung (Vcc) von +21.5V, das Signal "Display off" muss 
auf +5V liegen, sonst zeigt das Display nichts an.
Der einzige "Schönheitsfehler" ist die invertierte Darstellung auf dem 
LCD, d.h. man hat weissen Text auf schwarzem Hintergrund (ich denke, das 
liegt an dem Display-Typ). Man müsste wohl invertierte Bitmuster auf den 
Datenleitungen D0..D3 ans LCD senden, um eine ZX81-artige 
nicht-invertierte Darstellung zu erhalten; ich muss mir mal den 
Sourcecode ansehen um zu sehen, ob das einfach machbar ist.
Übrigens, ich konnte den AX81-Sourcecode mit dem gavrasm-Assembler 
assemblieren (gavrasm musste zuvor noch mit Freepascal kompiliert 
werden); lediglich in zwei Zeilen (Z.52 un Z.61) in "mem_macros.asm" 
musste ich ein "=" durch "==" ersetzen...

Grüsse,

Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Andreas,

Mit dem Jumper, der zwischen HSYNC und CSYNC umschaltet, sollte sich 
auch zwischen positiver und negativer Darstellung beim LCD umschalten 
lassen.

Gruß Jörg

von Andreas R. (Gast)


Lesenswert?

Joerg Wolfram schrieb:
> Hallo Andreas,
>
> Mit dem Jumper, der zwischen HSYNC und CSYNC umschaltet, sollte sich
> auch zwischen positiver und negativer Darstellung beim LCD umschalten
> lassen.
>
> Gruß Jörg

Hallo Jörg,

ja, das hat funktioniert, vielen Dank! Die Darstellung auf dem 
Pollin-LCD ist nun nicht mehr invertiert und sieht sehr gut aus!

Beste Grüsse,

Andreas

von Peter Sieg (Gast)


Lesenswert?

Andreas R. schrieb:
> Übrigens, ich konnte den AX81-Sourcecode mit dem gavrasm-Assembler
> assemblieren (gavrasm musste zuvor noch mit Freepascal kompiliert
> werden); lediglich in zwei Zeilen (Z.52 un Z.61) in "mem_macros.asm"
> musste ich ein "=" durch "==" ersetzen...

@Andreas: Arbeitest du unter Windows? Könntest du dann bitte den 
compilierten gavrasm inkl. build Batchdatei(?) hier als ZIP einstellen 
(am besten das ganze Verzeichnis gezipped..)?

Und ein paar Bilder des Aufbaus inkl. Verdrahtung des LCD Displays wäre 
super!

Danke, Peter

von Andreas R. (Gast)


Lesenswert?

Peter Sieg schrieb:
> Andreas R. schrieb:
>> Übrigens, ich konnte den AX81-Sourcecode mit dem gavrasm-Assembler
>> assemblieren (gavrasm musste zuvor noch mit Freepascal kompiliert
>> werden); lediglich in zwei Zeilen (Z.52 un Z.61) in "mem_macros.asm"
>> musste ich ein "=" durch "==" ersetzen...
>
> @Andreas: Arbeitest du unter Windows? Könntest du dann bitte den
> compilierten gavrasm inkl. build Batchdatei(?) hier als ZIP einstellen
> (am besten das ganze Verzeichnis gezipped..)?
>
> Und ein paar Bilder des Aufbaus inkl. Verdrahtung des LCD Displays wäre
> super!
>
> Danke, Peter


Hallo Peter,

ich arbeite unter Linux, in meiner Distro war Freepascal schon 
integriert, daher war das Komplieren des gavrasm kein Problem. Auf der 
Homepage des Entwicklers von gavrasm 
(http://www.avr-asm-tutorial.net/gavrasm/index_de.html) gibts aber auch 
Windows-Binaries des Assemblers - die habe ich allerdings nie 
ausprobiert...

Zum Anschluss des Pollin-LCDs (WD-H3224V) an den ax81 gibts eigentlich 
nicht viel zu beachten; so hab ichs gemacht:
Pollin-LCD  ATMEGA1284P
D0..D3      PA0..PA3
FLM         PA5
Load        PA6
CP          PA7
M           PD6
Display off +5V (ohne das zeigt das Display nichts an)
V_CC        +21.5V (erst anlegen, wenn gültige Daten vom ATMEGA kommen!)
V_DD        +5V
GND         GND

Wenn ich ein Foto posten würde, könnte man da nicht viel erkennen. Ich 
hatte erstmal Mühe, das winzige Flachbandkabel des Displays zu 
kontaktieren - nun ist es ein ziemliches Leitungsgewirr...

Grüsse, Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Ich hab nochmal wegen der zwei Zeilen 52 und 61 in "mem_macros.asm"
nachgesehen, dort sollte auch "==" stehen. Da das Poken nicht 
abgeschaltet ist, fällt das aber gar nicht auf.

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Andreas R. schrieb:
> V_CC        +21.5V (erst anlegen, wenn gültige Daten vom ATMEGA kommen!)

@Andreas: Danke für die Info's! Wie machst du das denn (erst anlegen..)?

Beim Bild ging es auch mehr darum das Display in Aktion zu sehen..

Gruß Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.