Forum: Mikrocontroller und Digitale Elektronik ? Interpreter für Z80


von BitSchupser (Gast)


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

von C. A. Rotwang (Gast)


Lesenswert?

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

Klar, schau dir mal die Homecomputer aus dem Ostblock an, bspw:
Retrocomputing auf FPGA

Tiny-basic gibbets auch für Z80. Und auch C-Compiler 
https://sourceforge.net/p/sdcc/wiki/z80/

von Frank K. (fchk)


Lesenswert?

Willst Du Retro?

Hier:
https://github.com/feilipu/NASCOM_BASIC_4.7

fchk

von georg (Gast)


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

von BitSchupser (Gast)


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 :-)

von C. A. Rotwang (Gast)


Lesenswert?

georg schrieb:
> such dir am besten ein anderes Forum, das hier ist
> rettungslos kaputt.

Empfehlung: 
http://www.robotrontechnik.de/html/forum/thwb/board.php?boardid=1

Zumindest bzgl Z80-ASrchitectur wird da einiges diskutiert und neu 
entwickelt.

von BitSchupser (Gast)


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!

von C. A. Rotwang (Gast)


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" ...

von C. A. Rotwang (Gast)


Lesenswert?

BitSchupser schrieb:
> Hey C. A. Rotwang (Gast),
>
> Deine Aussage macht mich jetzt schon etwas traurig.

Deine Traurigkeit ist auf mich bezogen unbegründet, im Leben eines 
Entwickler gibt es immer mehr als nur ein Forum ;-)

von BitSchupser (Gast)


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... ;-)

von IAR (Gast)


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.

von foobar (Gast)


Lesenswert?

Pack halt nen CP/M drauf - dann hast du alles mögliche an Interpetern 
und Compilern zur Auswahl, inkl TurboPascal.

Hier noch nen Link zu einem (irgendwie genialem) Emulator mit Verweisen 
zu verschiedenen Programmen (wie z.B. TinyBasic):

http://www.nanochess.org/emulator.html

von holger (Gast)


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.

von olibert (Gast)


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.

von Ingo W. (uebrig) Benutzerseite


Lesenswert?

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.

von C. A. Rotwang (Gast)


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/

von Georg G. (df2au)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

Das gibt sie jetzt aber nicht mehr zu.

von IAR (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

IAR schrieb:
> Aber ich habe Beweise.

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

von IAR (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Danke für diesen total hilfreichen Beitrag, mit dem Du den Forengeist 
sicherlich ganz doll hochhalten tust, Du.

von Georg G. (df2au)


Lesenswert?

Rufus Τ. F. schrieb:
> C-Compiler für Z80 zu bekommen

QC für den Z80 gibt es als Crosscompiler auf dem PC und nativ unter 
CP/M. Bei der PC-Version weiss ich nicht, welches Windows sie verträgt. 
Sie wurde mit Borland-C 3.1 übersetzt. Wer es moderner möchte, muss zB 
LCC32 anwerfen und neu übersetzen.

von Rufus Τ. F. (rufus) Benutzerseite


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)

von Georg G. (df2au)


Lesenswert?

Rufus Τ. F. schrieb:
> Das bedeutet DOS oder 16-Bit-Windows, und damit wiederum sind
> 64-Bit-Versionen "raus"

Unter Win7-64Bit in einer XP-virtuellen Maschine läuft er problemlos.
Es ist ein "Windows Consolen Programm".

Assembler, Linker-Locater und Librarian gibt es auch dazu.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Peter D. (peda)


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.

von Laberkopp (Gast)


Lesenswert?


von BitSchupser (Gast)


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. :-)

von R. F. (rfr)


Lesenswert?

Hallo,

villeicht könntest du von deinen Systemen ein Bild posten, ich habe auch 
einige davon.

Interpretierend sind ua diverse FORTH systeme, die es auch noch gibt.

Gruss

Robert

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