Forum: Projekte & Code AX81 - ZX81 im AVR


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
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

von Andreas R. (Gast)


Lesenswert?

Peter Sieg schrieb:
> 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

Hi Peter,

naja, da ich noch nicht dazugekommen war, mit einem MC34063A einen 
Spannungswandler zu bauen, der mir die +21.5V aus den +5V generiert, 
habe ich zunächst einfach manuell die +21.5V (von einem Labornetzteil) 
an den V_CC-Pin des Displays angeschlossen, nachdem der ax81 gestartet 
ist. Man könnte wohl den Pin PA4 des ATMEGA1284P nehmen (der ist low 
wenn das LCD gültige Daten vom ax81 kriegt - @Jörg: stimmt das so?), um 
die +21.5V dann einzuschalten - ich muss mir noch überlegen, wie ich das 
am einfachsten mache...

Grüsse,

Andreas

von Peter Sieg (Gast)


Lesenswert?

Habe mir jetzt auch solche Pollin LCD Displays bestellt.
Und MC34063 um die 21,5V zu erzeugen. Habe vor die ohne Schalter direkt
anzuschließen. Wenn das Ganze eingeschaltet wird, bekommt der DC-DC 
Wandler 5V und erzeugt dann die 21,5V fürs Display.. dann sollte doch 
auch nach 1s ein AX81 Bildsignal kommen..? Zur Not machen ich da 
ersteinmal für die ersten Gehversuche einen mech. Schalter dazwischen..

Ich möchte ersteinmal mir der abs. Grundschaltung + LCD anfangen und 
dann nach und nach Tast. und SD Karte anschließen.

Was muss ich außer 1284P mit Quarz+2xC und +5V Versorgung noch für das 
LCD anschließen? Wie müssen J1-J3 gesetzt sein (J1 nach GND)?

Anschluss LCD dann wir oben:
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

Müssen da noch irgendwelche Widerstände dazwischen oder ist das nur für 
VGA?

Ich werde wohl direkt dort, wo der 24-pol Flachbandleiter an der Platine 
angeschlossen ist, die 11 Leitungen anlöten.

Peter

von Ronny M. (hobby-coder)


Lesenswert?

Wenn Ihr ein LCD an den AX81/AX82 hängt, könnte man daraus soetwas wie 
ein All-In-One AX81 bauen.

Gibt es eigendlich nun endlich Bausätze...? Im F64 gibt es noch keine 
Info's dazu...

Wird der AX81 bei zukünftigen Softwareversionen noch unterstützt, oder 
nur noch der AX82...?

von Peter Sieg (Gast)


Lesenswert?

Ronny Minow schrieb:
> Gibt es eigendlich nun endlich Bausätze...? Im F64 gibt es noch keine
> Info's dazu...

Wende dich mal an Donald aus dem F64.

Peter

von Andreas R. (Gast)


Lesenswert?

Peter Sieg schrieb:
> Habe mir jetzt auch solche Pollin LCD Displays bestellt.
> Und MC34063 um die 21,5V zu erzeugen. Habe vor die ohne Schalter direkt
> anzuschließen. Wenn das Ganze eingeschaltet wird, bekommt der DC-DC
> Wandler 5V und erzeugt dann die 21,5V fürs Display.. dann sollte doch
> auch nach 1s ein AX81 Bildsignal kommen..? Zur Not machen ich da
> ersteinmal für die ersten Gehversuche einen mech. Schalter dazwischen..

So (ohne Schalter) habe ich es schlussendlich auch gemacht; beim 
Ausschalten der 5 V zeigt das Display dann noch für 1-2 s ein komisches 
Bild an - ich hoffe, das schadet dem LCD nicht (bis jetzt habe ich 
nichts Schlimmes bemerkt)...

> Was muss ich außer 1284P mit Quarz+2xC und +5V Versorgung noch für das
> LCD anschließen? Wie müssen J1-J3 gesetzt sein (J1 nach GND)?

J1 und J2 müssen geschlossen sein (J1 um den LCD-Mode auszuwählen, J2 um 
kein invertiertes Bild zu kriegen).

> Anschluss LCD dann wir oben:
> 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
>
> Müssen da noch irgendwelche Widerstände dazwischen oder ist das nur für
> VGA?

Ich habe keine Widerstände in die Portleitungen vom ATMEGA zum LCD 
gehängt; das funktioniert bei mir.

Gruss,

Andreas

von Joerg W. (joergwolfram)


Lesenswert?

In meiner LCD-Schaltung habe ich in die +5V des Spannungswandlers einen 
PNP-Transistor eingebaut, der über einen Widerstand von PORTA.4 
angesteuert wird. Damit wird das LCD nur mit Spannung versorgt, wenn es 
aktiviert ist.
Die neuen AX81 Versionen werden auch auf der bestehenden Hardware 
laufen, lediglich PORTD.1 und PORTD.2 müssen zusammengefasst und mit 
einem PullUp versehen werden. Daneben wird es eine neue minimale 
Hardware geben, bei der PORTA und PORTC komplett verfügbar sind (ohne 
LCD).
Von der Softwareseite wird sich dagegen eine ganze Menge ändern, mit 
einer Snapshot- und Autostartfunktion sowie Upload über eine serielle 
Leitung lässt sich in Verbindung mit I/O Ports ein "Steuerungschip" 
realisieren, der wahlweise in BASIC, FORTH (Jupiter ACE) oder Z80 
Assembler programmierbar ist. Aus diesem Grund wird auch die 
Spectrum-Emulation wieder mit dabei sein, da es dort bereits IN und OUT 
gibt. Ebenso wird sich das ganze Tape-Handling ändern.
Der AX82 ist ein reiner Spectrum-Emulator, benötigt auch eine andere 
Hardwarebasis (ext. RAM + CPLD) und wird auch noch einige Zeit bis zur 
Veröffentlichung brauchen (Doku fehlt noch vollständig).

Gruß Jörg

von Peter Sieg (Gast)


Lesenswert?

Hmm.. ich habe jetzt mal ein LCD versucht so in Betrieb zu setzen.. 
erfolglos.. nichts zu sehen auf dem LCD.. nur beim Abschalten wird das 
LCD kurz mal blau.. keine orange LED Beleuchtung.. nichts.

Angeschossen wie oben angegeben.
22,3V über Stepup Wandler.
J1+J2 gegen GND gebrückt.
alle leitungen durchgeklingelt = ok
keine Schlüsse mit benachbarten Leitungen = ok
Die 3 Spannungen (22V, 5V, GND gibts auch noch neben dem 24-pol 
Anschluß)

J1 und J2 müssen geschlossen sein (J1 um den LCD-Mode auszuwählen, J2 um
kein invertiertes Bild zu kriegen).

> Anschluss LCD dann wir oben:
> 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
>
> Müssen da noch irgendwelche Widerstände dazwischen oder ist das nur für
> VGA?


??

Peter

von Peter Sieg (Gast)


Lesenswert?

Noch eine andere Sache.. Taster an RESET gegen GND bringt keinen 
Einschaltzustand.. Bildschirm bleibt 'dunkel' nichts geht mehr..

Peter

von Günter R. (diddleybow)


Lesenswert?

Hallo!
@Peter Sieg
Ich habe gestern abend die Version 0.28 auf mein board geflasht. Der 
dort eingebaute Resettaster funktioniert. Das Programm (VGA-Modus) 
startet wie bei Kaltstart. Ich könnte das jetzt auch mal mit dem 
Video-Modus machen. Melde mich wieder.

Gruß
Günter

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Ich habe eben die erste offizielle Release vom AX81b online gestellt. Es 
lässt sich zwischen 6 verschiedenen Emulationen wählen, eine 
Snapshot-Funktion nebst Datenübertragung ist auch mit realisiert.

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

Es wird nur noch der ATMega1284P unterstützt, der wegen der Videoausgabe 
auf 24 oder 25 MHz übertaktet werden muss. Es ist zwar noch nicht alles 
komplett, sollte aber soweit funktionieren.

Jörg

von Peter S. (petersieg)


Lesenswert?

Super! Das möchte ich dann doch mal gleich ausprobieren.
D.h ich kann die identische Hardware für für AX81 mit TV-Out verwenden 
und
muss nur den Quarz gegen einen 25MHz tauschen und den ATmega1284 mir der 
AX81b Firmware (m25) flashen?

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

bei der neuen Version kommt das Video-Signal für TV UND VGA von PORTD.3, 
eventuell braucht es halt die Brücke, die man bei der alten Version für 
VGA benötigt hat.

Jörg

von Peter S. (petersieg)


Lesenswert?

Hmm. Gerade mal einen LR Aufbau geändert auf 25MHz Quarz.. beide m25 
Firmwares probiert.. Bildschirm bleibt schwarz..?
Soll heißen, es schent ein Bildsignal generiert zu werden.. aber halt 
schwarz..

Ich habe keine Pullups (10k) an J1-J3 dran.. ging beim AX81 auch so..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hänge mal an PORTD.7 eine LED mit Vorwiderstand ran (ob nach +5V oder 
GND ist egal). Nach ein paar Sekunden sollte die dann mit Blinken 
anfangen, egal wie die Ausgabe konfiguriert ist.

Jörg

von Peter S. (petersieg)


Lesenswert?

Ja das tut sie.. nach ca. 5-6s blinkt sie regelmäßig mit ca. 1s Takt.

Trotzdem kein Bild am BAS Monitor.

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Wo hängt der BAS Monitor dran? Das Videosignal kommt nur noch aus 
PORTD.3, die PORTC-Pins sind inaktiv. Kommen am HSYNC/CSYNC irgendwelche 
Pulse raus?

Gruß Jörg

von Peter S. (petersieg)


Lesenswert?

ok.. Videoport hat sich geändert ;-)
Nach umlöten auf D3 bekomme ich die Einschaltmeldung.. soweit ok!

Im Prinzip geht die Auswahl auch.. aber machmal scheint er dann die
Auswahl nicht genommen zu haben, bzw. erkennt die SD Karte nicht..
Erst nach Aus-/Einschalten geht es dann..

Und machmal habe ich in dem großen A 0000 und er geht gar nicht 
weiter..?
F12 kann ich den Monitor aufrufen. ESC bringt schwarzen Bildschirm..

Muss ich jetzt ersteinmal ein wenig mit rumspielen..

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Wieviele Blockkondensatoren hast Du in Deiner Schaltung verbaut? Bei 
25MHz hatte ich auch bei einem Controller manchmal Ausfälle, bei 24MHz 
liefen aber alle problemlos. Evtl. mal die Spannung auf 5,5V erhöhen 
könnte auch helfen.

Jörg

von Peter S. (petersieg)


Lesenswert?

Je 1x100nf auf +5V und +3,3V Versorgung gegen Masse. Die SD Versorgung 
hat noch einen 10uF Elko drin.
Habe auch das Problem, das die einzige 2GB Medion Karte, die beim AX81 
lief nun zwar erkannt wird inkl. ZX81 Image.. aber F9 zeigt alles leer 
an??
Die hat wie gesagt beim AX81 komplett einwandfrei gearbeitet.. wurde neu 
formatiert (SD Tool von Panasonic) mit FAT16 und die 4 fertigen Images 
drauf kopiert.

Ein1 1GB von Delock und eine 2GB SanDisk (vermutlich aber China Kopie) 
werden gar nicht erkannt (alle ok unter Windows).

Eine 128MB SanDisk (original) läuft aber.

Mal schauen, was die anderen Nachbauer so für Erfahrungen haben.

Peter

von Günter R. (diddleybow)


Lesenswert?

Hallo!
Wie sieht denn die Signalform am Spannungsteiler an der SD-Karte aus, 
Spec eingehalten! Vielleicht ist auch die Grenze bei 24MHz fast 
erreicht. Manche berichten zwar von Übertaktungen von 32MHz aber ohne 
eine SD-Karte getestet zu haben.
Generell nehme ich für jeden +Versorgungsanschluß einen 100nF 
Kondensator auch direkt an dem SD-Kartenslot. Diese Kondensatoren 
versuche ich immer so dicht wie möglich an die Anschlüsse zu 
positionieren.
Selber komme ich im Moment nicht zu einem Test mit dem ATmega1284 und 
25MHz, ich spiele lieber mit Propellern rum ........
Gruß
TuxFan

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

wieviele Tapes zeigt bei Dir der Tape-Manager an? Es sollte 015 
dastehen, ansonsten wurde das Image zwar im Directory gefunden, der 
Datensatz zeigt aber irgendwo anders hin. Ich habe gerade mal schnell 
auf einer Panasonic 2GB Karte eine ebensogroße Partition angelegt und 
die Images dorthin kopiert. Rein in den AX81 und klappt sofort...
Ich werde in der nächsten Version die SPI-Frequenz für die 
Initialisierung noch ein Stück runtersetzen (derzeit 195KHz bei 25MHz 
Clock), Die ersten Bytes des Images verifizieren und ein paar 
zusätzliche Fehlermeldungen ausgeben lassen.

Jörg

von Peter S. (petersieg)


Lesenswert?

Joerg Wolfram schrieb:
> wieviele Tapes zeigt bei Dir der Tape-Manager an? Es sollte 015
> dastehen

Mit der 2GB Karte zeigt er als Meldung an: SDV2-Card ..ZX81 Image (so 
ähnlich)

F9 = Tapes 000/255!

alles leer..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Ich habe das eigentlich mit verschiedenen Partitionsgrößen 
durchgetestet, allerdings nur mit fdisk und mkdosfs. Du könntest noch 
versuchen, auf der 2GB Karte eine 256MB Partition einzurichten und sehen 
ob es dann geht.

Jörg

von Peter S. (petersieg)


Lesenswert?

Hmm. Irgendwie klappt das mir Laden von Programmen/Schnapshots im 
Jupiter ACE nicht..?

F9 = Tapemanager
Auswählen
Shift+L
kehrt zurück zum Prompt..
vlist zeigt aber kein neues Wort..?

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Also bei mir geht es. Allerdings habe ich nicht alle Programme, die aud 
den Images sind getestet und es werden wohl auch nicht alle 
funktionieren. FISH und BALLON sollten aber gehen, wobei letzeres mt "g" 
und nicht mit "go" gestartet wird. Eigene Wörter haben aber ohne 
Probleme funktioniert, nach dem Zurückladen des Snapshots (Name beim 
Speichern nicht vergessen!) ist man wieder genau an der selben Stelle 
incl. Bildschirminhalt.

Jörg

von Peter S. (petersieg)


Lesenswert?

Hmm.. vielleicht kannst du mal Taste für Taste bzw. Eingabe für Eingabe 
Beispielhaft hier aufführen..?

Ich habe den Jupiter ACE Prompt. vlist zeigt alle Worte an.
Return sagt OK.
Dann F9 - Tapemanager.
Cursortasten gehen rauf runter.. Filename wird jeweils angezeigt.
Stehe z.B auf fish.
Dann Shift-F9 drücken
komme zurück zum ACE Prompt.
Hier zeigt vlist keine Änderung an.
go gibt ?go

???

Peter

von Joerg W. (joergwolfram)


Angehängte Dateien:

Lesenswert?

Hallo Peter,

Ich habe nochmal die 4 Images auf eine neue Karte kopiert und es 
ausproiert:

1. mit F9 den Tape-Manager aufrufen
2. "FISH" auswählen
3. mit Shift+L das Programm laden
4. Bildschirm sollte so aussehen wie im Anhang

Mit Shift+S wird das Programm auf der SD-Karte ohne Warnung 
überschrieben, die Shift-Taste dient dazu, damit das nicht unabsichtlich 
passiert. Probeweise könntest Du das Image noch einmal auf die Karte 
kopieren.

Jörg

von Peter Sieg (Gast)


Lesenswert?

Hi Jörg.

Ich bin mir dann ziemlich sicher, das evtl. die SD Routinen durch den 
25MHz Quarz zu schnell sind..?


Ich mache es genau so.. aber bekomme nur den Prompt wieder.. kein Fish 
;-)

Gruß, Peter

von Joerg W. (joergwolfram)


Lesenswert?

Ich kann mir nicht vorstellen, dass die SPI-Routinen zu schnell sind. 
Während der Init-Phase läuft der SPI mit f/128 (195KHz bei 25MHz 
MCU-Takt) und danach mit f/4 (6,25MHz). Das sollte eigentlich jede Karte 
mitmachen. Und das Lesen der Programmnamen (Die werden bei jeder 
Cursorbewegung neu eingelesen) scheint ja auch zu funktionieren.

Peter Sieg schrieb:
> Und machmal habe ich in dem großen A 0000 und er geht gar nicht
> weiter..?

Lassen sich die ZX81 Programme laden? Vielleicht geht Dein Contoller 
einfach bei 25MHz nicht mehr gescheit, dann könnte man noch die 24MHz 
ausprobieren. Vielleicht hat auch jemand anderes das Teil nachgebaut und 
kann hier Erfahrungen posten.

Den Controller zu übertakten ist halt auch schon "grenzwertig", eine 
Nachbaugarantie kann es da nicht mehr geben, das zu viele Faktoren (u.a. 
Datecode, Leiterplattenlayout) eine Rolle spielen.

Gruß Jörg

von Peter S. (petersieg)


Lesenswert?

Hi.

ZX81 Programme lassen sich ohne Probleme laden (und speichern).
Ja, auf andere Nachbauer warte ich auch schon ungeduldig ;-)

Das mit dem Übertakten kann ja schon sein..
aber ich habe andere Projekte, wo z.B ein ATmega328P mit bis zu 30MHz 
läuft
und ein weiteres, wo ein ATmega88PA mit 32MHz Oszi betrieben wird.

Ich kann das widerrum nicht wirklich glauben, das das die Ursache sein 
soll.

Es scheint also 'nur' bei Schnapshot's aufzutreten..?
Großer Blocktransfer.. wobei ggf. etwas durcheinander läuft..?

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Was passiert eigentlich, wenn Du vlist machst und dann lädst? Ist dann 
der Bildschirm wie vorher mit der Liste oder leer mit Prompt?
In der Laderoutine wird nicht mehr kontrolliert, ob richtige Daten von 
der Karte kommen und im Zweifelsfall halt einfach FF gelesen.

Jörg

von Peter S. (petersieg)


Lesenswert?

Hi.

wenn ich erst vlist mache und alle Worte gelistet bekomme und z.B 3x 
Return drücke und somit 3x OK zurück bekomme und dann F9 und bei Fish 
Shift-L eingeben, bin ich quasi sofort (weniger als 1/10 s) wieder genau 
dort, bevor ich F9 aufgerufen habe (3x OK). Nach Return kommt wieder 
ok.. System arbeitet also, hat nur nichts geladen..

Peter

von Peter S. (petersieg)


Lesenswert?

Noch eine Merkwürdigkeit.
Erkennen der SD Karte und des Imges nach Einschalten einwandfrei.
Laden von ZX80+ZX81 Programme ebenfalls.
Nach CTRL-ALT-DEL hängt das System anscheinend genau bei dem Erkennen 
der SD Karte und des Images.. 30s gewartet.. nichts..
Erst nach aus- und wieder einschalten gehts weiter..

Peter

von Peter S. (petersieg)


Lesenswert?

Falls es nicht zu umständlich wäre, wäre ein Test mit einem HEX für 
25MHz, wo der Zugriff auch nach der Initialisierung mit f/128 läuft 
interessant..

Peter

von David R. (retrogadgets)


Lesenswert?

Hello Jorg

Can you help

I have the chipbasic2 built with the atmega1284p and flashed with the 
ax81 code v0.25. i have constructed a sd card reader, but upon powering 
up i get the following

1. with sd adapter connected and no card inserted a message appears 
"E-CMD8" what does this mean

2. with sd inserted a message of "SDV1-CARD" "NO IMAGE" , please can 
somebody explain how to write the data to the SD card, the 
ax81_image.bin and TAPE folders.

3. another message I get is "E-ACMD41" , have a SD card with image 
ax81_image.bin on sd card with TAPE folders, but unable to read anything 
with LLIST command, have tried POKE 99,0 with

just TAPE-000, but nothing there,just a empty list.


I have used the install program, put .p files in the TAPE folders and 
run the write_data.exe and seen a dos window saying "adding" but when 
using through the ax81, i can not see any files. Please can you help

regards

David

von Joerg W. (joergwolfram)


Lesenswert?

Hi David,

pls use the current version 0.28 from

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

because the version 0.25 has problems with many SD cards.

best regards,

Joerg

von Joerg W. (joergwolfram)


Lesenswert?

Ich habe jetzt die Version 1.27 ins Netz gestellt, mit der sich 
vielleicht die Fehlerbilder besser auswerten lassen:

- Detailliertere Fehlermeldungen bei der Karten-Erkennung
- Checksumme für FLASH Überprüfung
- SPI-Geschwindigkeit kann mittels ALT-Taste auf 1/4 reduziert werden

Jörg

von Peter S. (petersieg)


Lesenswert?

Hi Jörg.

Habe die 1.27 nun drauf.. verhält sich aber fast wie 1.26..?
Wo/Wann kann man die ALT Taste denn betätigen um die SPI zu reduzieren?

EDIT: Ahh.. schon in der Bedinungsanleitung drin.. ok ALT nach Auswahl 
der
Emulation gedrückt. Image wird dann mit *davor angezeigt.

Es kommen trotzdem keinerlei Fehlermeldungen.. es wird aber nichts 
geladen (Snapshot). Der Prompt kommt nach gefühlten 0s (sofort) zurück 
nach Shift-F9.

Was jetzt geht: Nach Reset kommt wieder der Einschaltbildschirm (nichts 
an der Hardware geändert; alleine 1.26 -> 1.27 Firmware).

Aber die SD Karte bzw. Image wird nach Reset immer noch nicht erkannt.. 
bleibt dort hängen.. bis anscheinend zum Timeout = Dann ist zwar das 
System da, aber kein Image/Programme.

EDIT2: Habe dann nochmal die Delock 1GB Karte die gar nicht lief 
probiert.
Die liefert nun ERR CMD8.

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

Natürlich hat sich am Verhalten fast nichts geändert. Ich habe nur die 
genannten Funktionen hinzugefügt und ein neues "Paket" erstellt. Da bei 
mir 3 verschiedene SD-Karten in zwei verschiedenen Hardware-Aufbauten 
problemlos funktionieren sehe ich auch nicht unbedingt Veranlassung, da 
noch größere Codeexperimente anzustellen, weil es bei einem Nachbau 
nicht richtig funktioniert.
Vielleicht können sich andere "Nachbauer" (sofern es sie gibt) mal mit 
einem Erfahrungsbericht melden.

Jörg

von Peter S. (petersieg)


Lesenswert?

@Jörg: Nur der Ordnunghalber. Ich habe 2 Aufbauten, die identisches 
(Fehl)-Verhalten zeigen.

Nun dann warten wir mal auf 'Andere'.

Schönes WE,
Peter

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Peter,

Das Laden von Snapshots bei Jupiter ACE und Spectrum ist noch abhängig 
von einem Markerbyte (Programmanfang + 16, 0xdc beim ACE, 0xcc beim 
Spectrum). Wenn dieses nicht übereinstimmt, wird das Programm nicht 
geladen da es wahrscheinlich leer ist. Ich habe jetzt noch eine 
Fehlermeldung mit Ausgabe des gelesenen Bytes eingebaut.

Andereseits... wenn ich nach dem Schaltplan auf Deiner Webseite gehe, 
hast Du einige Widerstandwerte gegenüber meinen Plänen aus mir 
unerfindlichen Gründen geändert. Da ich annehme, dass Du Deine zwei 
Aufbauten mit den hochohmigeren Spannungsteilern an der SD-Karte 
aufgebaut hast, möchte ich  anmerken, dass ich unter solchen Bedingungen 
weiteres Suchen nach eventuellen Fehlern in der Software als zweckfrei 
einschätze.

Gruß Jörg

von Peter S. (petersieg)


Lesenswert?

@Jörg: Schaue ich mir mal an.
Die Spannungsteiler laufen mit diesen Werten in hunderten von mmc2iec 
Aufbauten seit 2009 ohne jedes Problem (auch mit ATmega1284P)..

Ich denke es wäre wirklich sehr hilfreich, wenn noch mehr Nachbauer hier
ihre Erfahrungen beisteuern könnten.

Gruß Peter

von Peter S. (petersieg)


Lesenswert?

Kurzer Nachtrag. Snapshot speichern 'scheint' zu gehen. Name taucht auch 
nach dem Aus-/Einschalten im Tapemngr. auf. Nur laden geht auch hier 
nicht..

Evtl. werde ich die Tage nochmal eins aufbauen, mit den anderen 
Widerstandwerten als Spannungsteiler.. obwohl ich das zu 95% 
ausschließen möchte, das es damit etwas zu tun hat.. auch sonst werden 
bei Bauanleitungen zw. AVR+SD Card gerne diese Kombination 3,3k und 1,8k 
verwendet.

Schönen Sonntag noch,
Peter

von Andreas R. (Gast)


Lesenswert?

Hallo alle,

ich will mal kurz meine Erfahrungen mit dem neuen AX81b schildern:

Ich verwende die gleiche Hardware, die ich auch mit dem "normalen" ax81 
verwendet habe - auch mit einem 20 MHz-Quarz; da ich mein Pollin-LCD 
verwende, funktioniert das recht gut. Die LCD-Refresh-Rate ist halt 
etwas kleiner als sie sein sollte. Ich verwende v1.28 der Software 
(ax81b_v128_cb2_24m.hex). Meine SD-Karte ist eine "disk2go 1 GB" (einige 
Jahre alt) mit einer einzigen FAT16 Partition (knappe 1 GB gross, d.h. 
gesamte Kapazität der Karte).

Ich kann meist problemlos das vorgefertigte Jupiter Ace Image verwenden 
und auch das "Fisch"-Programm laden und ausführen. Manchmal kommt es 
vor, dass das Jupiter Ace Image nicht erkannt wird - dann hilft 
neuerliches Kopieren des vorgefertigten Images auf die Karte.
Wenn ich allerdings mit "ax81-fsinstall 3 3 3 3" oder "ax81-fsinstall 10 
10 10 10" meine eigenen Tapes erstelle, erhalte ich beim Jupiter Ace und 
beim Spectrum die Meldung "No Media" im Tape-Manager (die beiden Images 
werden nicht erkannt, die für den ZX81 und ZX80 werden hingegen 
erkannt). Kopieren der vier von mir erstellten Images auf den Desktop, 
dann Löschen aller Files auf der Karte, und Rückkopieren der vier Images 
hilft dann und alle vier Images werden erkannt. Dieses Verhalten ist bei 
mir reproduzierbar.

Da mich der ZX81 am meisten interessiert (und ich den am besten kenne), 
habe ich weitere Tests im ZX81 Modus gemacht.

SAVEen und LOADen von ZX81-Programmen geht gut.
Manchmal (nicht immer) wird beim Aufruf vom Tape-Manager (mit F9 oder 
SAVE oder LOAD) mein LCD wohl nicht mehr richtig angesteuert, d.h. 
einige Spalten werden blass und im Laufe der Zeit wird das ganze LCD 
blass und flackernd. Zurück im Basic geht die LCD-Ansteuerung dann 
wieder richtig.

Wenn ich im Tape-Manager mit den Kursor-Tasten Programme auswähle, 
werden manchmal willkürlich Programmeinträge mit einer Reihe ©©©© 
ersetzt; der richtige Programmeintrag kommt aber wieder, wenn man weiter 
mit den Kursortasten Programme auswählt.

Grüsse,

Andreas



Joerg Wolfram schrieb:
> Natürlich hat sich am Verhalten fast nichts geändert. Ich habe nur die
> genannten Funktionen hinzugefügt und ein neues "Paket" erstellt. Da bei
> mir 3 verschiedene SD-Karten in zwei verschiedenen Hardware-Aufbauten
> problemlos funktionieren sehe ich auch nicht unbedingt Veranlassung, da
> noch größere Codeexperimente anzustellen, weil es bei einem Nachbau
> nicht richtig funktioniert.
> Vielleicht können sich andere "Nachbauer" (sofern es sie gibt) mal mit
> einem Erfahrungsbericht melden.
>
> Jörg

von Peter S. (petersieg)


Lesenswert?

@Andreas: Du hast einen 20MHz Quarz drin und verwendest die 24M 
Firmware..?
Puh.. ob das aber am TV/Video dann noch so läuft.. leider hat das bei 
mir mit dem Pollin LCD nicht geklappt..? Ich habe übrigens einen 25MHz 
Quarz drin.
(24M habe ich z.Z nicht).

@Jörg: Ein paar weitere Tests:

A. Habe die 2GB Medion Karte unter Knoppix so bearbeitet wie angegeben. 
256M ID:6 FAT16 Partition angelegt und formatiert. 4 Images drauf und 
nun läuft sie wie auch schon die andere 256MB große SanDisk. D.h 
laden/speichern ZX81 OK; Schnapshot bei ACE = Nein. Version war noch die 
1.27.

B. V1.28 geflasht. Beim Versuch den vorherigen Schnapshot (ACE) mit 
Namen 'test' wieder zu laden = nichts. Keine Fehlermeldung; kein Wort 
'test' da.
Beim Laden von Fish: No Valid Marker DC Fehlermeldung.
Sieht so aus, das wenn ich selbst einen Schnapshot speichere, das 
irgendwie nur ein Verzeichniseintrag weggeschrieben wird..?

Ich glaube ich werde mir mal 24M Quarze bestellen und umrüsten..

EDIT: Habe mal spaßeshalber eine 24MHz Firmware geflasht. TV Schrift ist 
etwas verzerrt.. kann man aber lesen.. aber gleiches Verhalten wie 
oben..

Peter

von Andreas R. (Gast)


Lesenswert?

Peter Sieg schrieb:
> @Andreas: Du hast einen 20MHz Quarz drin und verwendest die 24M
> Firmware..?
> Puh.. ob das aber am TV/Video dann noch so läuft.. leider hat das bei
> mir mit dem Pollin LCD nicht geklappt..? Ich habe übrigens einen 25MHz
> Quarz drin.
> (24M habe ich z.Z nicht).
>

Hallo Peter.

Videoausgabe wird bei mir natürlich nicht funktionieren (habs erst gar 
nicht versucht), aber da mein LCD ja funktioniert, lasse ich vorerst den 
20 MHz Quarz mal drin.

Was war denn bei Dir das Problem mit dem Pollin-LCD? Bei mir gings 
damals recht problemlos...

Andreas

von Peter S. (petersieg)


Lesenswert?

@Andreas: Keine Ahnung warum das LCD nicht lief..?? Siehe weiter oben 
hier im Thread.. alle Verbindungen durchgeklingelt.. 22,3V durch StepUp 
Wandler..

@alle: Nur gerade nochmal probiert.. ZX81 Programm schreiben, speichern 
auf SD Karte, wieder laden.. etc. geht alles problemlos..

Peter

von David R. (retrogadgets)


Lesenswert?

Hello Joerg

Thanks for replying

I have reflashed with v0.28 and again my sd card was unreadable.

I have used another 2G SD card, branded (TDK) with SUCCESS

I did a full format using v2 of the panasonic sd formatter, then copied 
across from the other sd card the ax81_image.bin file and the TAPE 
folders.

upon power up, i get the Message SDV1-CARD  followe by FORMATTED.

then I LLIST and all my files are listed.  THANKS FOR ALL YOUR HELP.


Is there anyway of getting HRG on the AX81 from the code of AX81b on the 
standard AX81 ?

I have tried reading the text on the AX81b, how does one program the 
atmega1284 with image.bin files??, which is what I want to try next !!

Thankyou.

von David R. (retrogadgets)


Lesenswert?

Hello Joerg

Thanks for replying

I have reflashed with v0.28 and again my sd card was unreadable.

I have used another 2G SD card, branded (TDK) with SUCCESS

I did a full format using v2 of the panasonic sd formatter, then copied 
across from the other sd card the ax81_image.bin file and the TAPE 
folders.

upon power up, i get the Message SDV1-CARD  followed by FORMATTED.

then I LLIST and all my files are listed.  THANKS FOR ALL YOUR HELP.


Is there anyway of getting HRG on the AX81 from the code of AX81b on the 
standard AX81 ?

I have tried reading the text on the AX81b, how does one program the 
atmega1284 with image.bin files??, which is what I want to try next !!

Thankyou.

von Peter Sieg (Gast)


Lesenswert?

@David: You don't program the AVR with image.bin!! To Upgrade from AX81 
to AX81b you basically have to change the 20MHz crystal to a 24/25MHz 
one and the video out is now on another port. So only 2 changes needed. 
Than of course, you need to flash the AVR with the AX81b firmware and 
the tape images are also completetly different! So reformat the sd card 
again and copy the 4 new ax81b images on them.

@Jörg: Offensichtlich, scheinen die Images nicht so zusammen hängend auf 
der SD Karte zu liegen, wie es deine Firmware erwartet/annimmt? Hmm. ich 
habe bisher immer alle 4 Images markiert und dann auf die SD Karte 
'gezogen' / kopiert.. kann es dabei sein, das er dann mal hiervon, mal 
davon was hintereinander schreibt (in der FAT alles ok).. aber die FAT 
wertest du ja glaube ich nicht aus.. evtl. probiere ich es mal 1 Images 
nach dem anderen zu kopieren.. alles meine Karten sind übrigens schon 
gebraucht..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Bei einer Cursorbewegung werden alle Dateinamen neu eingelesen, das ©©©© 
in der Zeile deutet darauf hin, dass nur 0xFF von der Karte gelesen 
wurde. Hast Du die gleichen Widerstände (750R/1,5K) oder auch 
abweichende? Eventuell wäre dann eine "saubere" Lösung mit Levelshifter 
sinnvoller.

Die FAT werte ich nicht aus, auch beim Directory nur den ersten Sektor, 
was 16 Einträgen entspricht und normalerweise ausreichen sollte.

Was mich bei Peter wundert:

>No Valid Marker DC

0xDC ist eigentlich der richtige Merker und sollte das Laden erlauben. 
Die 24 und 25 MHZ Varienten unterscheiden sich nur im Timing für die TV 
und LCD Ausgabe sowie die Baudratenerzeugung für die 
Snapshot-Übertragung.

> Is there anyway of getting HRG on the AX81 from the code of AX81b on the
> standard AX81 ?

No, this may be possible for VGA and LCD, for TV which uses on the AX81 
bit-banging the necessary timing for UDG cannot be achieved.

Jörg

von Andreas R. (Gast)


Lesenswert?

Joerg Wolfram schrieb:
> Bei einer Cursorbewegung werden alle Dateinamen neu eingelesen, das ©©©©
> in der Zeile deutet darauf hin, dass nur 0xFF von der Karte gelesen
> wurde. Hast Du die gleichen Widerstände (750R/1,5K) oder auch
> abweichende? Eventuell wäre dann eine "saubere" Lösung mit Levelshifter
> sinnvoller.

Ich verwende wie in Deinem Schaltbild den 750R/1.5K Spannungsteiler für 
die SD Karte. Ich muss wohl mal eine andere SD Karte ausprobieren, aber 
die ©©©© sind wohl eher ein kosmetisches Problem - jedenfalls ist es mir 
noch nicht passiert, dass ein Programm nicht richtig geladen wurde...

> Die FAT werte ich nicht aus, auch beim Directory nur den ersten Sektor,
> was 16 Einträgen entspricht und normalerweise ausreichen sollte.

Könnte das damit zu tun haben, dass von "ax81-fsinstall 3 3 3 3" 
generierte Images erst dann alle erkannt werden, wenn ich sie auf die 
"geleerte" Karte zurückkopiere (wie in einem meiner letzten Posts 
beschrieben)?

Grüsse,

Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Die @@@@ sind halt ein Zeichen dafür, dass es nicht stabil läuft. 
Seltsam ist für mich halt, dass es mit zwei völlig unterschiedlichen 
Systemen (wenn ich den AX82 dazu zähle, der die selben Routinen 
verwendet sind es sogar 4 verschiedene) mit unterschiedlicher 
Verdrahtung zur Karte (Flachband vs. freifliegend), unterschiedlichen 
Spannungsreglern für die 3,3V ohne Probleme klappt, bei allen 
"Nachbauern" aber Probleme auftreten. Zumindest bei denen, die sich hier 
gemeldet haben.
Wenn das mit dem "hinterher draufkopieren" besser klappt, werde ich das 
auch mal testen und dann die Anleitung entsprechend ändern.
Eventuell wird es bei einer zukünftigen Version wieder die Möglichkeit 
geben, Flashbausteine anstelle SD-Karten zu benutzen.

Jörg

von Lokus P. (derschatten)


Lesenswert?

Kann mir mal jemand einen Tip geben wie man das Teil bedient? Ich habe 
den Bausatz aus dem Forum64 heute zusammengelötet.
Zuerst einmal ohne SD-Karte getestet. Der Einschaltbildschirm erscheint, 
kurz darauf das keine SD Karte eingelegt ist und dann wechselt er in die 
Eingabe.
Alles soweit so gut...
Anschließend habe ich mir von hier: 
http://www.jcwolfram.de/downloads/main.php#ax81 ein paar .p und .px 
Dateien runtergeladen und auf eine 8GB SanDisk ins Root Verzeichnis 
kopiert.
Wenn ich den AX81 damit füttere und einschalte dauert es erst mal eine 
Weile bis der Text "E-ACMD41" erscheint. Ich denke mal das er in dieser 
Zeit die SD-Karte nach Dateien durchsucht.
Anschließend wird in den Eingabemodus gewechselt.
Nur wie starte ich nun meine Dateien? Wie rufe ich das Menü auf? Hier 
wird von F9 geschrieben. Nur wenn ich das drücke tut sich bei mir gar 
nix.
Jemand eine Idee?
Meine Firmware ist V0.28 (laut ATMEGA Aufkleber).

Und was ist der Unterschied zwischen der AX81 und der AX81b Firmware?

von Lokus P. (derschatten)


Lesenswert?

Ich habe jetzt noch eine andere SD-Karte probiert.
Nach einem Reset zeigt er mir an SDV1-CART. Kurz darauf NO IMAGE.
Müssen die .p bzw. px Dateien in ein bestimmtes Verzeichnis?

von Joerg W. (joergwolfram)


Lesenswert?

E-ACMD41 bedeutet, dass die Karte nicht richtig initialisiert werden 
konnte (ACMD41 schlägt fehl). Wie man die Karte einrichtet, dazu gibt es 
auf meiner Homepage eine Anleitung:

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

Die .px Dateien waren eine Art Hilfsfiles für die erste Version und ab 
der Version 0.23 eigentlich obsolet. Der Aufruf des Tape-Managers mit F9 
funktioniert nur beim AX81b, beim AX81 (Versionen <1.00) wird das Tape 
mittels POKE 99,x gewechselt, die Dateiliste lässt sich mittels LLIST 
anzeigen.

Da die SD-Karten Routinen scheinbar nur bei mir stabil zu laufen 
scheinen, werde ich bei den nächsten Projekten schon aus Gründen der 
Nachbausicherheit wieder zu Flashbausteinen wechseln.

Die AX81b Firmware braucht einen übertakteten ATMega1284P (24/25MHz) und 
kann zusätzlich benutzerdefinierte Grafik sowie ZX80, Jupiter ACE und 
einen monochromen ZX Spectrum emulieren. Für das Beschreiben der 
SD-Karte sind aber andere Tools notwendig, die ich aber nur noch als 
C-Quellcode und Linux-Binaries bereitstelle. Den für die Compilierung 
der Windows-Tools notwendigen MinGW Crosscompiler habe ich im Rahmen der 
guten Vorsätze (nur noch freie Software zu unterstützen) zum 
Jahreswechsel auf 2012 "entsorgt". Da der Quellcode offen ist muss sich 
eigentlich nur noch jemand finden der ihn ggf. etwas anpasst und 
entsprechend (cross-)compiliert.


Jörg

von Andreas R. (Gast)


Lesenswert?

Hallo Jörg,

ich habe nun wieder etwas Zeit gefunden, mich mit dem ax81 zu 
beschäftigen. Ich verwende wieder die Version 0.28, da mich der ZX81 am 
meisten interessiert und ich mit dieser Version das meiste RAM zu 
Verfügung habe (15.75 kB). Wenn ich die Version 1.28 des ax81b verwende, 
kriege ich "nur" 15 kB; ausserdem gibt es manchmal im Tape-Manager 
Probleme, mein GLCD richtig anzusteuern.

Nun zu meinem "Problem": ich habe mich mit dem z88dk-Cross-Kompiler 
beschäftigt und ein einfaches Programm cross-kompilert:
1
#include <stdio.h>
2
    #include <stdlib.h>
3
4
    int main(void) {
5
       int c;
6
7
       while( (c = getchar()) !=13){
8
           putchar(c);
9
                printf("\n");
10
       }
11
       
12
    }
Dieses Programm wartet auf eine Tastatureingabe und gibt das Zeichen 
gleich auf dem Bildschirm aus.

Im ax81b (v1.28) läuft das Programm wie es sollte, aber im ax81 (v0.28) 
läuft es erst normal, stürzt aber nach einigen Tastendrücken ab. Es sind 
bis zum Absturz immer unterschiedliche Anzahlen Tastendrücke; wenn es 
abstürzt, muss ich den ax81 mit Ctrl-Alt-Entf neu starten. Hast Du die 
Tastatur-Abfrageroutinen in ax81b gegenüber dem ax81 stark 
geändert/verbessert? Ich frage auch deshalb, weil das Spielprogramm 
"Nanako" (auch mit z88dk erstellt) im ax81b ladbar ist und auf 
Tasteneingaben (richtig) reagiert, aber im ax81 zwar läd, aber nur auf 
die Esc-Taste reagiert (und meint, es sei die Space-Taste). Das 
Spielprogramm "Uwol" (vom selben Programmierer und auch mit z88dk 
erstellt) kann ich im ax81b nicht laden (zuwenig RAM). Im ax81 läd es 
zwar, aber es reagiert wieder nur auf die Esc-Taste.

Grüsse,

Andreas

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Andreas,

in der neuen Version habe ich die Tastaturabfragemöglichkeiten stark 
erweitert bzw. vom Spectrum-Emulator übernommen. Der AX81 unterstützt im 
Wesentlichen nur die System-Eingaberoutine. Ich werde versuchen, das in 
der nächsten Version zurück zu portieren.

Jörg

von Andreas R. (Gast)


Lesenswert?

Joerg Wolfram schrieb:
> Hallo Andreas,
>
> in der neuen Version habe ich die Tastaturabfragemöglichkeiten stark
> erweitert bzw. vom Spectrum-Emulator übernommen. Der AX81 unterstützt im
> Wesentlichen nur die System-Eingaberoutine. Ich werde versuchen, das in
> der nächsten Version zurück zu portieren.
>
> Jörg


Hallo Jörg,

das wäre toll, danke für die Antwort...

Schönes Wochenende,

Andreas

von Joachim (Gast)


Lesenswert?

Hallo Jörg,
dein Vorhaben, die SD-Cards nicht mehr als Medium zu verwenden, finde 
ich schade. Bei meinem AX81 hat das zuverlässig funktioniert und es ist 
deshalb eine tolle Sache, weil ich meine eigenen ZX81-Programme via PC 
auf den AX81 bringe.
Den AX81B baue ich diese Tage auf. Ich habe dazu eine Platine 
gelayoutet, die ich aber erst noch testen muss. Die Ergebnisse werde ich 
dann hier und im ZX81-Team-Forum vorstellen.
Ich würde mich freuen, wenn jemand die Routinen für das Aufbereiten der 
SD-Card (fsinstall) für Windows compilieren könnte.
Grüße
Joachim

von Peter S. (petersieg)


Lesenswert?

Joachim schrieb:
> Hallo Jörg,
> dein Vorhaben, die SD-Cards nicht mehr als Medium zu verwenden, finde
> ich schade. Bei meinem AX81 hat das zuverlässig funktioniert und es ist
> deshalb eine tolle Sache, weil ich meine eigenen ZX81-Programme via PC
> auf den AX81 bringe.
> Den AX81B baue ich diese Tage auf. Ich habe dazu eine Platine
> gelayoutet, die ich aber erst noch testen muss. Die Ergebnisse werde ich
> dann hier und im ZX81-Team-Forum vorstellen.
> Ich würde mich freuen, wenn jemand die Routinen für das Aufbereiten der
> SD-Card (fsinstall) für Windows compilieren könnte.
> Grüße
> Joachim

Dem stimme ich zu! SD Karten sind überall erhältlich. Und für mich 
wichtig selbst Programm unter Windows zw. PC und AX81 kopieren zu 
können.
Programmtransfer bei der ZX81 Emulation geht ja auch beim AX81b. Nur der 
Blocktransfer macht Probleme.. Zu dumm allerdings, das es bei dir 100% 
klappt.. werde die Tage mal noch einen AX81b mit deinem 
Spannungsteilerwerten (ca.) bauen..

Peter

von Joachim Merkl (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mir eine Platine für die Minimalvariante des AX81B (24 Mhz, nur 
BAS-Ausgang, dafür I/O-Ports) gemacht und versucht, sie mit dem File 
ax81b_v128_cfg2_24m.hex im ATMega1284 zum Laufen zu bringen. Leider ging 
nichts. Auf dem Oszi zeigt sich bei den Pins für Video und CSYNC keine 
Aktivität. Die Platine und die Bauteile müßten aber in Ordnung sein. Ich 
kann damit den ATMega programmieren und habe auch - nach Umlöten des 
Widerstandes von PD3 auf PC7 - auch den AX81 mit dem File 
ax81_026_m1284p.hex zum Laufen gebracht. Bildausgabe, Tastaturannahme, 
SAVE/LOAD auf SD-Card ging tadellos.

Hat jemand mit dieser Hardwarevariante und dem File 
ax81b_v128_cfg2_24m.hex schon Erfolg gehabt?

Viele Grüße
Joachim

von Peter S. (petersieg)


Lesenswert?

Hi.

Ich hatte die 25m Variante auf LR am laufen.

Peter

von Joachim M. (zxjoachim)


Angehängte Dateien:

Lesenswert?

Hallo Peter,
danke für die schnelle Antwort. Vielleicht baue ich die Schaltung auch 
noch auf LR auf.

Ist dein Aufbau auch so, wie auf meinem jpg vom Layout? Ich habe nur den 
Jumper Jp1 weggelassen, weil ich die Einstellung auf 'TV' haben will und 
damit der Widerstand nur ein pullup ist.

Hast du die Firmware assembliert? Ich habe das Hex-File genommen, das 
Jörg im Downloadpaket geliefert hat.

Noch eine Anmerkung zu meinem vorherigem Eintrag: Ich habe zum Testen 
mit der Version ax81_026_m1284p.hex natürlich einen 20 Mhz-Quarz 
eingelötet.

viele Grüße
Joachim

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Joachim,

kannst Du probieren, ob beim AX81B und 20MHz Quarz etwas beim 
CSYNC/Video herauskommt? Die Mega1284P die ich habe, laufen z.B. bis auf 
einen mit 25 Mhz Quarz nicht mehr stabil (mit externem Oszillator 
schon), das Timing für die 25MHz hatte ich deshalb mittels 
angeschlossenem Oszillator ermittelt.
Ich lote momentan u.a. die Möglichkeiten aus, mit (möglichst minimaler) 
Zusatzhardware wieder mit 20MHz auszukommen.

Gruß Jörg

von Joachim M. (zxjoachim)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,
offensichtlich liegst du mit deiner Vermutung richtig.
Der ATMega hat sich gemeldet: Der Schirm zeigte durchbrochene 
horizontale Linien, die LED hat regelmäßig geblinkt und auf den Pins 
VIDEO und CSYNC hat sich auch was getan (siehe jpg).
viele Grüße
Joachim

von Joerg W. (joergwolfram)


Lesenswert?

Mir ist noch eine andere Idee gekommen. Für "NUR-TV" könnte man auch 
z.B. 14,756 (zur Not auch 12) MHz nehmen und müsste die Hardware nicht 
ändern. Die ACE- und Spectrum-Emulation wird daurch allerdings 
langsamer, für ZX80/81 sollte es aber ausreichen. Das könnte ich auch 
kurzfristig hinbekommen.
Der ATMega644P macht lt. Uzebox-Forum Probleme beim Overclocking, das 
gleiche könnte auch für den 1284P gelten.

Jörg

von Joachim M. (zxjoachim)


Lesenswert?

Hallo Jörg,
was mich betrifft: Mir würde die ZX81-Emulation mit I/O-Ports und 
TV/BAS-Ausgabe auf 12 oder 14,756 Mhz völlig genügen.

Super wäre auch, wenn dies mit diesen Quarzen geht, eine Version 
ZX81-Emulation mit I/O-Ports und LCD-Ausgabe. Da müßte man halt auf 
einen Port verzichten. Man könnte dann Steuerungsaufgaben auf dem 
(echten) ZX81 entwickeln und testen und auf dem AX81B laufen lassen 
(z.B. Modellbahnsteuerung, Wickelmaschine, Aquariumbeleuchtung etc.).

Es würde mir aber auch nichts ausmachen, einen Ozillator zu verwenden 
oder die Hardware zu erweitern.

Wenn wir das alles durch haben, würde mich interessieren, wie ich den 
ZX81-Zeichensatz für die ZX81-Emulation ändern kann. Für ein 
Gleisschaltbild zur Modellbahnsteuerung habe ich selbst Symbole 
entwickelt, damit diese auf einem Textbildschirm wie in einem Stellwerk 
aussehen. Diese Software läuft bereits auf meinem ZX81, bei dem ich den 
Zeichensatz verändern kann. Nun könnte ich mit deiner genialen Idee, das 
Stellwerk fest installieren, weil ich mir günstig einen 'ZX81' nachbauen 
kann. Gleiches gilt auch für meine anderen zig Steuerungen, die ich mit 
dem ZX81 gemacht habe.

viele Grüße
Joachim

von Peter S. (petersieg)


Lesenswert?

Joerg Wolfram schrieb:
> Mir ist noch eine andere Idee gekommen. Für "NUR-TV" könnte man auch
> z.B. 14,756 (zur Not auch 12) MHz nehmen und müsste die Hardware nicht
> ändern. Die ACE- und Spectrum-Emulation wird daurch allerdings
> langsamer, für ZX80/81 sollte es aber ausreichen. Das könnte ich auch
> kurzfristig hinbekommen.

Hi Jörg: Hört sich für mich gut an! Mein Hauptinteresse gilt ebenfalls 
ZX81/ZX80. Ich hatte vorgestern mir wieder einen AX81 (nicht b) auf 
einer mmc2iec Platine aufgebaut.. alles ok.. gestern wollte ich ihn 
wieder in Betrieb nehmen.. nichts mehr auf dem Bildschirm zu sehen..?? 
habe mich so geärgert über dieses instabile Verhalten, das ich ihn 
auseinander und zum mmx2iec umgebaut habe.. ;-)

14,756 MHz Quarze habe ich in der Bastelkiste..

Peter

von Joerg W. (joergwolfram)


Lesenswert?

Wenn bei 20MHz kein Videosignal kommt, ist wohl eher etwas anderes faul. 
Z.B. wenn die Jumper auf LCD stehen.
Nach letztem Stand ist es so, dass es zum AX81b drei neue 
"Frequenzvarianten" geben wird. 12MHz und 14,7456MHz für TV/LCD und 
20MHz für VGA/LCD (wie beim alten AX81). Laut dem Test von:

http://forum.tlienhard.com/TS1000/www.ts1000.us/romdisassembly.htm

komme ich bei 12MHz und PAL auf ca. 1,45-fache Geschwindigkeit im 
ungebremsten Modus, von der Seite her sollte es auch keine Probleme 
geben.

Was die SD-Karten anbetrifft, da die mir zugänglichen Karten alle 
funktionieren, sehe ich derzeit keinen Handlungsbedarf. Eventuell werde 
ich noch ein komprimiertes Image zum Download bereitstellen, welches 
dann mittels dd auf die Karte kopiert werden kann.

Jörg

von Joachim M. (zxjoachim)


Lesenswert?

Hallo Jörg!
Das ist eine gute Lösung. Bin schon auf die neuen Files gespannt!
Grüße
Joachim

von Peter S. (petersieg)


Lesenswert?

Joerg Wolfram schrieb:
> in der neuen Version habe ich die Tastaturabfragemöglichkeiten stark
> erweitert bzw. vom Spectrum-Emulator übernommen. Der AX81 unterstützt im
> Wesentlichen nur die System-Eingaberoutine. Ich werde versuchen, das in
> der nächsten Version zurück zu portieren.

Hi Jörg.

Habe mir wieder einen AX81 zusammen gebaut (nicht die b Version).
V0.28 geflasht. Läuft soweit prima! Habe auch die 
Widerstandsspannungsteiler
etwas herabgesetzt (2,2k/1k). Ich würde mich freuen, wenn du wie oben 
geschrieben, die besseren Tastaturroutinen in den AX81 zurück portieren 
würdest..

Den Quarz mit aktuell 20MHz habe ich in eine Fassung gesetzt, sodaß ich 
ihn ggf. tauschen kann, falls mal eine Version mit 12/14,xMHz kommt.

Peter

von Peter S. (petersieg)


Lesenswert?

Ach ja.. hatte ich noch vergessen. Der AX81 (ohne b) hat bei mir immer 
noch die Probleme, das eine Ctrl-Alt-Del keine Bildschirmausgabe mehr 
produziert.. zumindest sehe ich nichts mehr am TFT..(FBAS/Video)..?

Und es wäre schön, wenn man den AX81 in nahe der original 
Geschwindigkeit laufen lassen könnte (wie beim AX81b).

Peter

von Retrogadgets (Gast)


Lesenswert?

Hello All

I'm using avrdude via a UsbtinyIsp to program the avr 1284p, but is 
limited by the 64k file size barrier, what programmer have other poeple 
used, can some one please supply a programmed 1284p avr for me. thanks

David

von Peter S. (petersieg)


Lesenswert?

Hmm. I am not aware about such 64k barrier??
I am using avrdude under Windows XP with usbtiny stick. Such sticks cost 
under 10€ at ebay.

Peter

von Peter S. (petersieg)


Lesenswert?

Soo.. ein paar mehr Hinweise evtl..

Habe mir auch wieder einen AX81b aufgebaut mit 2,2k/1k 
Widerstandsteilern zur SD Karte hin. 25MHz Quarz.

Ohne Karte einwandfrei. Menue kommt. Tastatur arbeitet. alles ok.
Mit 128MB SanDisk kommt KEIN Bild!?
Mit 1GB (welche im AX81 läuft) kommt CRC error (verschiedenen Werte).
(Auch nach frisch formatieren.. immer CRC error).

Habe darauf hin genau diesen Aufbau wieder zum AX81 umgebaut (20MHz 
Quarz + Videoout geändert) und hier läuft alles, wie es soll inkl. der 
1GB SD Karte!

Also irgendwas ist da mit dem SD Kartenhandling faul!
Und warum kommt kein Bild/crc error sofort nach dem Einschalten, ohne 
das das Menue zur Systemauswahl kommt.. ich dache erst danach greift er 
auf die SD Karte zu..?

@Jörg: Evtl. helfen diese Hinweise ja..

Gruß Peter

von Joerg W. (joergwolfram)


Lesenswert?

CRC-Error bedeutet nix Gutes. Und zwar wird beim Start des Intro-Screens 
eine Summe der FLASH-Bytes (ohne den Snapshot-Bereich) gebildet und mit 
einer vorberechneten verglichen. Bei Nichtübereinstimmung kommt dann der 
CRC-Fehler und es wird die aktuell ermittelte Summe angezeigt. Ursache 
ist ganz einfach, dass der Controller bei der Frequenz nicht mehr 
gescheit funktioniert. Warum das von der angeschlossenen SD-Karte 
abhängig ist kann ich nicht sagen, da zu diesem Zeitpunkt noch nicht auf 
die Karte zugegriffen wird.
In die "alte" Version möchte ich nicht mehr unnötig viel Zeit 
reinstecken, vielleicht kommt noch die (leider nicht ganz triviale) 
Zurückportierung der Tastaturroutinen, mehr aber sicher nicht. Dafür 
wird der AX81b in der nächsten Version die zusätzlichen Quarzfrequenzen 
unterstützen womit sich dann die Übertaktungsprobleme umgehen lassen 
sollten.

Jörg

von Retro gadgets (Gast)


Lesenswert?

Peter

The 64k barrier I was referring to, the usbtiny is limited to only 
writing upto 64k of flash!

von Peter S. (petersieg)


Lesenswert?


von David R. (retrogadgets)


Angehängte Dateien:

Lesenswert?

Hello Jorg

found this site

http://www.radiolocman.com/shem/schematics.html?di=71093

an interesting project to increase the amount of sram available for the 
AX81b

see attached pictures and eagle files


Regards

David

von Joerg W. (joergwolfram)


Lesenswert?

Hi David,

the RAM-Extension You have postet is decided to use with controllers 
which have an external RAM interface. The Mega128 has an external RAM 
interface but the Mega1284 of the AX81 has none. By the way, the Mega128 
cannot be used because the UART is not able to work in SPI master mode 
which is necessary for video output.

Joerg

von Retro gadgets (Gast)


Lesenswert?

Jorg

Found this site http://belogic.com/uzebox/index.asp

Where the atmega644 is over clocked to 28 MHz, there is a download page, 
not sure if sources are available, but board has sd socket

David

von David R. (retrogadgets)


Lesenswert?

Jorg

re: uzebox - AX81 modification

This site of the uzebox based on a atmega644, I have sourced two 
suppliers 1 is 50% cheaper than the other .  £4.90 this price includes 
board and shipping to united kingdom,

As per Peter with the iec2sd repurposed board, I shall do similar with 
this uzebox board, just needing keyboard and video modifications!!!! 
ISP and sd connections in correct places for the AX81!!!

David

von Joerg W. (joergwolfram)


Lesenswert?

Hi David,

it seems that only the Mega644P and the Mega1284P have problems with 
overclocking. But the Mega644 has only 4K RAM and one UART. You can 
create Your own hardware config file and build then hex file with "avra 
main.asm".

Joerg

@alle

Wer auch im C64 Forum unterwegs ist, das Flackern bei Tastatureingaben 
lässt sich eventuell mit ein oder zwei zusätzlichen 
Abblock-Kondensatoren am ATmega und am Tastaturanschluß beheben. Bei 
manchen 25MHz Quarzen scheint der Oszillator unter bestimmten 
Bedingungen kurz auszusetzen.
Aber ich möchte mich nicht dort auch noch anmelden...

von Joachim M. (zxjoachim)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!
Ich habe heute meinem AX81B, der bisher nicht wollte, einen 24 
MHz-Oszillator verpaßt und der AX81B ist als ZX81 tadellos gelaufen. Der 
Bildschirm flackert ganz leicht, das kann aber auch an der 
Monitoreinstellung liegen. Firmware ist ax81b_v128_cfg2_24m.hex.
SD-Cards (1 GB Platinum, 128 MB Canon) lassen sich einwandfrei auslesen 
und beschreiben. Ich habe lediglich die Images, die Jörg mitliefert, 
draufkopiert und vorher mit FAT16 formatiert.
Den Card-Reader habe ich mir selbst gebaut (siehe Layout). Den verwende 
ich auch schon seit einiger Zeit mit meinem ZX81 über eine PIO.


@Jörg
Ich habe einpaar kleine Fehler in der ZX81-Emulation gefunden. Soll ich 
weiter die Version 1.28 testen und Fehler melden?

Grüße
Joachim

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Joachim,

Die "neue" Version wird wahrscheinlich heute oder morgen fertig, ich muß 
nur noch testen, ob das LCD bei 12 und 14,7456MHz noch akzeptabel geht 
oder ich mit der Refreshrate runtergehen muss. Und die Doku ergänzen.
Es wird auch eine 20MHz Version (VGA/LCD) geben, die das Timing der 
alten Variante in allen Modi unterstützt. Die Fehler kannst Du ruhig 
schon posten, vielleicht lässt sich der eine oder andere schon 
beheben...

Gruß Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Jetzt dauert es doch noch etwas länger, da ich meinen AVR-Programmer im 
Ausland hab liegen lassen und mir erst einen neuen bauen muß...

Jörg

von David Roper (Gast)


Lesenswert?

Question ?  why does the ax81b need to run at 24 or 25 mhz ?, if this is 
a overclock problem with timing ?

Regards

David - Retrogadgets

von David Roper (Gast)


Angehängte Dateien:

Lesenswert?

hello Jorg

In the chipbasic2 layout, the two eeprom chps, can not these be used as 
extra memory instead of the 'Disk-storage' as originally designed for 
the Ax81 boards.

regards

David - Retrogadgets

von Joachim M. (zxjoachim)


Lesenswert?

Hallo zusammen!
Leider bin ich nicht in der Lage, ein Image mit ZX81-Programmen für die 
AX81B-Variante herzustellen. Auch für den Test wäre es für mich 
hilfreich bereits bestehende Testprogramme für den ZX81 auf dem AX81B zu 
nutzen. Auch hätte ich dann einen Assembler/Disassembler.

Wäre jemand im Forum bereit, dies für mich zu tun? Ich würde meine 
ZX81-Programme als .p-Files per Email schicken, die ich dann als Image 
für eine SD-Card per Email zurückbekomme.

Viele Grüße
Joachim

von Joerg W. (joergwolfram)


Lesenswert?

Hi David,

the UART-Video output can only wor with f/2, f/4... so only the 24MHz 
version can serve VGA and TV. Bit-Banging at PORTC which has realized TV 
output at 20MHz is no longer used. The 12/14/20 MHz versions in the next 
release will use lower clock frequencies but cannot switched between VGA 
and TV output.
Strangely I dont have timing problems at 24MHz, perhaps this depends on 
MCU datecode and board layout. I asked a person wich had problems to use 
a MCU from me but he declined. Since the overclocking situation is not 
clear, I will not publish the AX82 spectrum emulator.
It's not planned to use the I2C EEPROM as storage solution for the AX81. 
The old version can use DataFlash but this is removed at the AX81b.

Hallo Joachim,

das kann ich schon machen.

Jörg

von Joachim M. (zxjoachim)


Lesenswert?

Hallo Jörg,
vielen Dank für das Angebot!! Wohin kann ich die Files schicken? Geht 
das über das Forum?
Bin gerade dabei, ein LCD anzuschließen. Bisher noch kein Erfolg. Habe 
die Minimalvariante (siehe mein Layout dazu) verwendet und das LCD wie 
hier im Forum beschrieben angeschlossen. Dazu ein stepup-Wandler mit 25 
V (da muss ich noch experimentieren). Außerdem habe die Firmware für 
24MHz und der Endung cb2 (V1.28) verwendet. Ist in dieser Version schon 
eingebaut, dass man mit PortA4 einen Transistor zum Einschalten der 
5V-Versorgung für den stepup-Wandler ansteuern kann?
PortC4 habe ich auf GND gelegt. Muss ich sonst noch etwas beachten?
Optimal wäre diese Variante: Minimalvariante mit Firmware, die BAS oder 
LCD ansteuern kann und Jumper dazu an PortB1 abfrägt. Dazu I/O (PortC) 
oder eine Variante die nur LCD ansteuert aber auch mit I/O ist.
Viele Grüße
Joachim

von Joerg W. (joergwolfram)


Lesenswert?

Hallo Joachim,

die "cb2" Dateien sind für die ChipBasic Hardware gedacht die mit "cfg2" 
für die minimale Hardware. LCD ist für die minimale Hardware nicht 
vorgesehen und wird es von meiner Seite wohl auch nicht geben. Einfach 
deswegen, weil ich dafür zum Debuggen wieder neue Hardware aufbauen 
müsste. Der Treiber dafür selbst ist zwar drin, wird aber nicht benutzt.
Das Einschalten des LCD via PORTA.4 (LO-aktiv) sollte bei den 
cb2-Versionen auf jeden Fall funktionieren.

Jörg

von Joerg W. (joergwolfram)


Lesenswert?

Zum Thema I/O ist mir gestern noch etwas eingefallen. Bei der jetzigen 
Lösung kann man gerade einmal 2 Parallelports benutzen obwohl noch mehr 
Resourcen verfügbar wären: I2C, ADC, TIMER0, SPI (wenn man externen 
Massenspeicher nicht nutzt). Außerdem kann man vom ZX81 BASIC die I/O 
nicht direkt ansprechen, das geht nur beim ACE und Spectrum.
Daher habe ich vor, die gesamten AVR I/O Register wahlweise in den Z80 
Speicherraum bei 0x3e00 (15872) einzublenden. dann könnte man ohne 
Probleme mittels PEEK und POKE auf die AVR I/O Register zugreifen und 
schneller wäre es auch noch. Dazu muß ich die ROMs entsprechend patchen 
damit der Ramtest nicht in die AVR-Register schreibt. Außerdem können 
"wildgewordene" Programme das System komplett zum Absturz bringen, aber 
darin sehe ich das kleinere Übel da das Ganze über das Startmenü 
abschaltbar sein wird.
Zusätzlich werde ich ein paar kleine Programmlistings veröffentlichen in 
denen gezeigt wird, wie man auf die Ressourcen zugreift.
Meinen neuen Lochraster-USBASP habe ich gestern fertigbekommen, mal 
sehen wie ich vorankomme...

Jörg

von Joerg W. (joergwolfram)


Lesenswert?

So, die neue Version ist ferig und steht zur Verfügung:

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

In den 12 und 14 MHz Versionen funktioniert die Jupiter ACE Emulation im 
LCD-Mode nicht mehr, weil das Takte nicht mehr ausreichen.

Jörg

von Joerg W. (joergwolfram)


Lesenswert?

In der Doku steht es leider noch nicht drin, der AVR I/O Raum wird ab 
Adresse
0x7e00 (32256) eingeblendet (wenn aktiviert)