? Interpreter für Z80

Gast #5670682
Lesenswert?

Ho Ho Ho Gemeinde!

Ich hoffe Ihr habt eine entspannte, friedliche und glückliche Weihnacht 
gehabt.

Beim "Schrott-Wichteln" habe ich in der Firma neulich 4 Z80-Boards 
bekommen.
Für mich sieht das aber definitiv nicht nach Schrott aus!
Was ist drauf?

- Z80
- Sio
- RS485
- RS232
- GAL
- diversen Input und Output-Latsches
- 128kb-Flash
- 128kb RAM
- extra 512kB RAM (eines hat sogar 3x 512kB Extra-RAM)

Von der Schaltung her wird der GAL sicher den RAM in 32kB-Happen 
einspiegeln und auch die GPIO-IC's werden im RAM-Bereich zu finden sein.
Das näher zu analysieren dürfte kein unüberwindbares Problem darstellen.

Nun bin ich in der Firma irgendwo zwischen Produktion und Entwicklung 
angesiedelt - also kann/soll/muss für die Entwicklung diverse Adapter, 
Sniffer, Protokolle filzern, oder Pin-Wackel-Simulatoran schnitzen.

Bisher habe ich dafür Arduinos oder STM32F103 (letztere mit STM32duino) 
verwendet.

Ich fände es maximal amüsant, wenn ich den C-Guru-Jüngern diese 
Z80-Boards mit einem Basic oder Pascal-Interpreter vor die Nase setzen 
könnte.

"Hier, nimm das und programmiere was auch immer Du willst!"

Eigentlich wollte ich mich an folgenden Beitrag hängen, aber der ist 
wohl leider vom Admin gesperrt (kein Wunder nach all der Hetze, Schimpfe 
und Beleidigung).
Da hätte ich aber das geballte Z80-Wissen versammelt gehabt.
Schade! :-(

Z80 wie AVT nutzbar?
Beitrag "Z80 wie AVT nutzbar?"

Also hier meine eigentliche Frage:

Gibt es einen freien und brauchbaren Interpreter (Basic oder sonstwas) 
für den Z80?

Meine Suche im Netzt hat mich leider eher verwirrt, als zum Ziel 
geführt.

Für jegliche zielführende Antwort wäre ich sehr dankbar - Trolle sollen 
sich bitte in den hohen Norden verziehen. ;-)

Gruss...BitSchupser
Gast #5670694
Lesenswert?

BitSchupser schrieb:
> aber der ist
> wohl leider vom Admin gesperrt

Da stand so ziemlich alles schon drin, was du wissen willst, hat aber 
halt einem/den Mods nicht gefallen. Es gab nicht mal Benachrichtigungen 
zu den Löschungen, jetzt herrscht wohl nur noch hemmungslose Willkür. In 
meinen gelöschten Beiträgen ist keine einzige Silbe ein Verstoss gegen 
die gern zitierte Nettiqette.

Es macht keinen Sinn, nochmal alles zu wiederholen, was Richtiges und 
Konstruktives in dem Thread stand, nur damit ein frustrierter Moderator 
wieder alles löscht. Schade um früher mal mögliche sachliche 
Diskussionen, such dir am besten ein anderes Forum, das hier ist 
rettungslos kaputt.

Georg
Gast #5670697
Lesenswert?

Hey C.A.Rotwang(Gast) !

Danke für Deine schnelle Antwort (um diese Zeit?), aber ich suche nach 
einem Interpreter, um die C-Jünger wieder etwas auf den Boden der 
Tatsachen zu bekommen. Warum eigentlich?
Aussagen wie "Huuuuuuuuu BASIC ist voll Schrott" hat denen mal der Prof 
eingeimpft und das wiederholen sie jetzt Gebetsmühlen-artig. Es ist, wie 
immer, eine Frage des Betrachtungswinkels!

Ja, bei BASIC gibt es ein GOTO und das kann sehr schnell im "arp-pfui" 
enden.

Nur weil C verwendet wird, ist das Programm dadurch nicht automatisch 
besser.

Diese Lektion würde ich den C-Jünglingen gern durch einen Interpreter 
auf dem Z80 mitgeben wollen.


Gruss ... BitSchupser :-)
Gast #5670705
Lesenswert?

Hey C. A. Rotwang (Gast),

Deine Aussage macht mich jetzt schon etwas traurig.
Sind hier echt nur noch überhebliche Trolle unterwegs... :-(

Schade!

Aber OK, ich versuche mein Glück parallel auf dem von Dir 
vorgeschlagenem Forum.

Trotzdem Danke und frohe Weihnacht!
Gast #5670710
Lesenswert?

BitSchupser schrieb:
> Danke für Deine schnelle Antwort (um diese Zeit?), aber ich suche nach
> einem Interpreter

Dazu sind mir FPGA-Nachbauten m.E. gut geeignet. 16K RAM, 2k "BIOS", 3k 
Basic Interpreter und es tut. Neben tiny-Basic war wohl noch BASICCODE 
verbreitet. Und die basic-programmierbaren Taschenrechner wie den Casio 
FX-850P sollte man sich auch anschauen.

>Warum eigentlich?
>Aussagen wie "Huuuuuuuuu BASIC ist voll Schrott" hat denen mal der Prof
>eingeimpft und das wiederholen sie jetzt Gebetsmühlen-artig. Es ist, wie
>immer, eine Frage des Betrachtungswinkels!

Ist halt eine Folge des missionarischen Eifers eines Dijkstra der sein 
"GOTO considered harmful" erfolgreich in die Hirne implantieren konnte.
https://reprog.wordpress.com/2010/03/09/where-dijkstra-went-wrong-the-value-of-basic-as-a-first-programming-language/
https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf

Dann verstieg er sich noch zu solchen Verlautbarungen wie: "It is 
practically impossible to teach good programming to students that have 
had a prior exposure to BASIC" ...
Gast #5670730
Lesenswert?

Während ich mir hier gemütlich einen Gin oral einführte seid Ihr hier 
aber bereits sehr fleißig gewesen.

Respekt und Danke! :-)

C. A. Rotwang schrub
> Dann verstieg er sich noch zu solchen Verlautbarungen wie: "It is
> practically impossible to teach good programming to students that have
> had a prior exposure to BASIC" ...

Klingt nach schelle Autos sind der Teufel!!!
Oder, Nur ein guter Mann mit einer Waffe kann einen Bösen mit einer 
Waffe stoppen...

OK, das wird jetzt zu politisch... ;-)
Gast #5670738
Lesenswert?

Warum einen langsamen Interpreter nehmen.

Die Compilerschmiede von IAR hat auch den Z80 beglückt.

Läuft als 32 bit Applikation unter W32.

Das Banking wirst du dem Ding aber wohl nicht klarmachen können.
Gast #5670820
Lesenswert?

>Nur weil C verwendet wird, ist das Programm dadurch nicht automatisch
>besser.

Was heisst besser?

>Diese Lektion würde ich den C-Jünglingen gern durch einen Interpreter
>auf dem Z80 mitgeben wollen.

Schreib doch einfach ein besseres C Programm. So kannst du
beweisen dass du was drauf hast.

>Sind hier echt nur noch überhebliche Trolle unterwegs... :-(

Nach dem was du hier so schreibst könnte man dich in die gleiche
Kategorie einordnen.
Gast #5670822
Lesenswert?

BitSchupser schrieb:
> Gibt es einen freien und brauchbaren Interpreter (Basic oder sonstwas)
> für den Z80?

Hallo BitSchupser,

ich habe die Schaltung und Software von Grant Searle als Vorlage 
genommen..

http://searle.hostei.com/grant/z80/SimpleZ80_32K.html

..und diese modifiziert. Diese verwendet ebenfalls den Nascom Microsoft 
Basic interpreter von 1978. Grant's Bootloader koenntest du fuer deine 
HW zuschneiden.

Momentan bin ich dabei den Assemblercode vom steinalten ACIA 6850 auf 
UART 16550 zu anzupassen.
Gast #5670839
Lesenswert?

Ingo W. schrieb:
> BitSchupser schrieb:
>> auch die GPIO-IC's werden im RAM-Bereich zu finden sein.
>
> Dafür gibt es beim Z80 eigentlich keine Notwendigkeit, da es hierfür
> einen eigenen I/O-Adressraum gibt, der bei Bedarf sogar mit 16-Bit
> Adressen genutzt werden kann.

Nicht nur Adressraum, der IO-Bereich funktioniert quasi wie ein eigener 
Bus mit eigenen CPU-Befehlen und eigenem Timing. Für IO-Ports ist daher 
auch das IORQn Pin mit auszuwerten.Der Refrehscontroller lässt IMHO auch 
seine Finger vom I/O-Bereich.

https://z80journal.wordpress.com/2015/10/07/z80-io-space/
#5670843
Lesenswert?

Das riecht sehr nach Boards für CP/M 3. Den Flash als Diskette zum 
Booten, Banking kann CP/M 3 von Haus aus, die 512kB RAM als zweite Disk.

Per I/O kann man recht simpel eine alte IDE Festplatte oder ähnliches 
anbinden.

Als erstes brauchst du ein Schaltbild. Und dann muss das GAL enträtselt 
werden. Alles machbar.
Gast #5670977
Lesenswert?

>> Die Compilerschmiede von IAR hat auch den Z80 beglückt.

> Das gibt sie jetzt aber nicht mehr zu.

Ja, der Z80 teilt sein Schicksal mit Intels 80X96 den PICs und
einigen anderen modernden Kandidaten.

Aber ich habe Beweise.
Gast #5671010
Lesenswert?

> Die helfen den Leuten, die auf Deinen Hinweis hin versuchen, einen
> C-Compiler für Z80 zu bekommen, jetzt nicht besonders, oder?

Ja, die Welt ist schlecht. Selbst zu Weihnachten fliesst kein
Freibier aus dem Wasserhahn.

Es ist an jedem selbst solche Artefakte ans Licht zu fördern.
Persönliche Seite #5671079
Lesenswert?

Georg G. schrieb:
> Bei der PC-Version weiss ich nicht, welches Windows sie verträgt. Sie
> wurde mit Borland-C 3.1 übersetzt.

Das bedeutet DOS oder 16-Bit-Windows, und damit wiederum sind 
64-Bit-Versionen "raus", da denen die erforderliche NTVDM für das 
Ausführen von 16-Bit-Code fehlt.

Wenn es ein DOS-Programm ist, kann man das allerdings problemlos unter 
DOSBox verwenden, egal, welches Betriebssystem nun verwendet wird.

(Es gibt sogar einen DOSBox-Port für iOS, also kann man so ein Programm 
auch auf dem iPhone bzw. iPad verwenden. Ob man das will, steht auf 
einem anderen Blatt, zumal das Übertragen von Dateien mit "Krampf im 
Arsch" noch zurückhaltend umschrieben ist)
Persönliche Seite #5671105
Lesenswert?

Georg G. schrieb:
> Es ist ein "Windows Consolen Programm".

Borland C3.1 ist ein 16-Bit-Compiler, der kann nur echte DOS-Programme 
oder 16-Bit-Windows-Programme erzeugen.

Ein echtes "Windows Consolen Programm" könnte auch mit Dateinamen und 
Pfaden statt den 8.3-Kürzeln umgehen, die man unter DOS und 
16-Bit-Windows gewohnt war.

Und wenn Du das Programm in einer virtuellen Maschine laufen lässt, ist 
das Wirtssystem natürlich völlig irrelevant.
#5671114
Lesenswert?

BitSchupser schrieb:
> Für mich sieht das aber definitiv nicht nach Schrott aus!

Für mich schon.
Was da auf Deinem Kuchenblech drauf ist, bekommt man heutzutage als 
einen Chip. Der GAL spricht auch für einen erheblichen Stromhunger. Und 
über 64kB braucht der Z80 wohl einen speziellen Banking-Compiler.

BitSchupser schrieb:
> Von der Schaltung her wird der GAL sicher den RAM in 32kB-Happen
> einspiegeln und auch die GPIO-IC's werden im RAM-Bereich zu finden sein.
> Das näher zu analysieren dürfte kein unüberwindbares Problem darstellen.

Reine Logik-GALs kann man ausklingeln. Beim 22V10 sind das ja nur 2^22 = 
4.194.304 Kombinationen. Sobald aber dort FFs drinne sind, kann das 
beliebig komplex werden.
Auch wird nicht einfach in 32kB-Happen unterteilt. Es gibt oft eine 
gemeinsame Bank für die Umschaltroutinen und Interrupthandler.
Außerdem wird der GAL die Umschaltung zwischen Flash und RAM machen. Ein 
Bootloader kopiert nach dem Reset einen Flashbereich in den RAM und 
schaltet dann um.
Du solltest besser versuchen, den Schaltplan und die Logikgleichungen zu 
beschaffen.
Gast #5672223
Lesenswert?

Nachdem ich mich nun ein wenig mit der Z80-Theorie befasst habe, ist es 
wohl im ersten Schritt sinnvoller ein "normales" Z80-System zu 
beschaffen um damit etwas warm zu werden.

Bei einem der 4 Boards sind ein GroßTeil der IC's gesockelt.
Das erleichtert das ausklingeln.

Was den GAL betrifft, ja kann schon sein, das es schwierig wird, aber 
wenn man den nicht nur "stupide" ausklingelt, sonder sich anschaut, wo 
die Leitungen enden, dann kann man sich schon einen Reim drauf machen - 
so der theoretische Ansatz. :-)

So nun noch kurz die Erklärung warum es ein Interpreter sein soll.

Verwendung sollen die Boards beim Hard bzw. Software-Test finden.
Da braucht man doch stendig ein kleines Helferlein.

"Schalte diesen Pin, dann müßte als Antwort der da auf H gehen"

Klar, kann man da nen Schalter und eine LED an die zu testende HW 
klemmen, aber wer will das schon öfter als 10x wiederholen?


Großes Danke für die Links... ich habe nun wohl einiges zu tun. :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren