CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » Computer » ELO Moppel 8085 » Threadansicht

Autor Thread - Seiten: -1- [ 2 ] [ 3 ]
000
22.03.2014, 18:04 Uhr
Werner_8085



Moin, moin

habe meinen alten Moppel wieder zu neuem Leben erweckt
(Moppel = Modulares Computersystem aus der ELO ca. 1984)
Eckdaten:
- CPU-Karte SAB 8085 6Mhz
- 32kBRAM/18kBEPROM-Karte
- 64kBRAM für CP/M
- Video-Karte
- Floppy Interface
- EPROM Brenner 2716/32
- Editor, Assembler, Disassembler, Basic und CP/M

Suche noch "Mitstreiter" die sowas noch betreiben bzw. rumstehen haben.
Details könnt Ihr auf meiner
HP http://www.werners-seiten.de/index.html
bzw. unter
http://www.mikrocontroller.net/topic/63505
einsehen.
Mit den besten Grüßen vom Niederrhein
Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
22.03.2014, 19:53 Uhr
Alfred

Avatar von Alfred

Hallo Werner,

es moppelt wieder, sehr schön und Glückwunsch zur erfolgreichen Wiederbelebung :-)!

Viel Spass hier und viele Grüsse
Alfred
--
Das Leben ist verdammt kurz (meine Meinung)!
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
23.03.2014, 09:24 Uhr
proof80



Hallo Werner,

schön, dass Du auch ein 8 Bit-Pflänzchen pflegst.

Da ich ebenfalls einen PEPs besitze, bin ich besonders an Deinen Fortschritten interessiert, das gute Stück in moderner PC-Umgebung zu füttern. Ich habe meinen nämlich noch nicht wieder in Betrieb ...


Gruß, Wolfram

P.S.: Bei Geist-Electronic gibt es noch Bausätze für den in der elektor 2001 vorgestellten EPROM-Simulator - falls jemand sowas noch braucht und nicht (mehr) hat

Dieser Post wurde am 23.03.2014 um 09:26 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
11.04.2014, 19:41 Uhr
Werner_8085



Hallo Wolfram,

die 1.Version ist nun lauffähig, nicht perfekt aber es klappt schon mal.

Details findest du auf meiner Seite
HP http://www.werners-seiten.de/index.html
bzw. unter
http://www.mikrocontroller.net/topic/63505

Mit den besten Grüßen
Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
12.04.2014, 17:56 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

War gerade auf Deiner Moppel-Seite. Schön, das er wieder taktet.

Hast Du eventuell ECB E/A-Karten (Opto, Relais I/O...) im Fundus, welche ich erwerben darf?

Grüße Heinrich
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
12.04.2014, 19:08 Uhr
Werner_8085



Hallo Heinrich,

hab da eine von SEL aber ohne Pläne, neben vielen Optokoppler steckt da ein MC68701 drin, Herkunft und Sinn unbekannt :-((

Für den Moppel habe ich noch eine Multi IO-Karte für Drucker, Uhr und 2*Rs232
ist aber noch nicht getestet.

Aber schreib mal den Jörg auf mikrocontroller.net an (Link siehe oben)
er hat wohl ein riesen Fundus ...

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
12.04.2014, 22:19 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

Danke für den Tip - hab da mal angefragt. Durch die MC68701 Karte zu steigen, wird wahrscheinlich zu aufwendig, wenn nichts weiter bekannt ist.

Falls es interessiert: Bisher konnte ich von ELZET80 eine E/A- Optokopplerkarte 16-fach mit Schalttransistoren und von Janich&Klass je eine Opto-In und Opto-Out erfolgreich testen. Lediglich ein paar TTL-ICs musste ich gegen schnellere Typen austauschen. Nun suche ich weitere ECB-Karten zum testen. (gerne auch als Leihstellung)

LG, Heinrich

P.S. an Wolfram: Die Z280-CPU bekomme ich nicht zum laufen. Schade.
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
15.04.2014, 17:38 Uhr
Werner_8085



Hallo Wolfram

Das "Peps-Projekt" ist nun mit neuer Hard- und etwas überarbeiteter Software
soweit abgeschlossen.

Details auf meiner HP, Verbesserungsvorschläge nehme ich gerne an ...
LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
15.04.2014, 18:05 Uhr
proof80



Hallo Werner,

ich habe meinen PEPS noch da brach liegen. Derzeit nehme ich gerade den "EPROM-Simulator" aus der elektor 1/2001 in Betrieb.
Da Du auch einen Mikrocontroller zum Beladen verwendest, wäre folgendes feature vielleicht auch eine Idee für Dich:
Der uC hat eine Portleitung als Reset (wahlweise high oder low active) für die Zielschaltung. Bei der Z80 heißt ja ein Reset, dass alle Busleitungen der CPU hochohmig sind und sie dadurch die Finger vom EPROM (-Simulator) lässt.
Schöne Sache, das. Wenn's RAM voll ist, schaltet der uC die Multiplex-Adress- und -Daten von Befüllen auf Emulieren und nimmt den Reset wieder weg. Dadurch marschiert die Ziel-CPU gleich los und man kann das neue Produkt testen.
Ich habe nicht mehr ganz vor Augen, wie das beim PEPS geregelt war. Wie läuft das bei Deiner Lösung?

Und noch eine Idee: Beim PEPS lassen sich diverse EPROM-Typen per Jumper einstellen. Das ließe sich auch per Software über den AVR steuern, oder? ;-)

Gruß, Wolfram

Dieser Post wurde am 15.04.2014 um 18:09 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
15.04.2014, 18:28 Uhr
Werner_8085



Hallo Wolfram,

nein der Peps hat keinen RESET-Ausgang für das Zielsystem.
Es ist aber sichergestellt, dass die Steuereingänge M0,M1 im Ruhezustand auf High liegen (Modus 3 = EPROM Simulieren).

Aber eine gute Idee, müsste nur den Moppel-RESET steuern - im Atmega sind ja erst 38% Programmspeicher belegt und Portleitungen sind auch noch reichlich vorhanden, also noch genügend Platz für Erweiterungen ...

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
17.01.2015, 15:31 Uhr
Werner_8085



moin, moin,

hab da mal ein Problem mit der seriellen Schnittstellenkarte:
Daten senden mit 4800Bd funktioniert einwandfrei
1.)Der Empfang mit dem Monitor w aaaa,eeee[RET] empfäng keine Zeichen.
2.)Das Testprogramm (Listing) empfängt die Daten, leider nicht immer
richtig

Takt für Baudrate ausgemessen (6,144Mhz/2/$800Bd)=640 für den Timer
alle Signalleitungen auf der Platine überprüft - alles OK

Beim Empfang wird RTS nicht gesetzt (Sendeanforderung) sollte doch
eigendlich im ACIA 6850 automatisch ablaufen damit der Empfänger nicht
überrannt wird ...

Hat da jemand eine Idee ?

LG Werner
Listing auf http://www.mikrocontroller.net/topic/63505

PS: Fehler 1 kann natürlich an dem vielfältigen Umbau der Monitor-ROM's
liegen. Da der V24Programmteil sehr trickreich, mit Sprüngen, Tabellen
und selbstmodifizierten Code programmiert wurde, ist da vielleicht was
über die Wupper gegangen.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
17.01.2015, 17:57 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

Wie wird den das Status-Bit des seriellen Ports abgefragt bzw. verarbeitet? ... als ISR? oder liegt vielleicht ein Buffer/Timing-Problem vor, wenn nicht mit RTS (Handshake) gearbeitet wird.

Grüße, Heinrich
P.S. den Moppel kenne ich nicht.
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
17.01.2015, 18:13 Uhr
Werner_8085



Hallo Heinrich

es wird in einer Schleife das Statusbyte abgefragt
und solange gewartet bis Bit0 (Empfangsregister voll) gesetzt ist
danach kann das DatenByte aus dem Datenregister gelesen werden.
Das funktioniert auch.
Es fehlt mir das RTS-Signal, was den Sender anhalten soll bis das DatenByte verarbeitet ist. Dies wird scheinbar vom MC6850 nicht generiert ...

Hab ich da einen Denkfehler ?

Anmerkung: Alles läuft im Moppel im Pollingbetrieb ab

Hier der Auszug vom Listing:
;
INIT_B: lxi h,BUFFER ; buffer start
mvi b,0ffh ; 256 Byte
mvi c,2ah ; *
RI_w: IN ACIA_CTL ; Warten auf Daten
ANI 01H
jz RI_w
RI_end: IN ACIA_DAT
mov m,a ;
call co ; Bildschirmmeldung
inx h ;
;

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
17.01.2015, 18:14 Uhr
Werner_8085



Nachtrag,
Sorry - der Editor hat mir das Listing versaut
das vollständige steht weiter oben im Link

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
18.01.2015, 18:14 Uhr
Werner_8085



Hallo Heinrich,

das Problem ist gelöst :-)))

Sollte das Datenblatt auch von der ersten Seite an lesen.
Beim Senden darf der Takt eins zu eins sein.
Aber beim Empfang muss ja irgendwie die Mitte des Signals abgetastet
werden, dies geht natürlich nur wenn der externe Takt mindestens
doppelt so groß wie die Baudrate ist. Dafür kann man den Eingangsteiler
ja auf 1/16 bzw 1/64 einstellen.

- kaum macht man es richtig und schon klappt es ;-)

Also Timer auf 40h (bei 6,144MHz) und UART Teiler auf 1/16 eingestellt
und alles ist schön. Wie der Empfang damals funktioniert hat ist mir
allerdings ein Rätsel, den im Monitorprogramm wird dieser Teiler und RTS
nicht genutzt, nach meinen bisherigen Recherchen.

So findet man Fehler die schon 30Jahre alt sind - keiner hats gemerkt.

Nun kann ich das Ziel vom 4.1. (siehe http://www.mikrocontroller.net/topic/63505) weiter verfolgen und die Hex-Datei
zeilenweise einlesen interpretieren und und und ...

schauen wir mal was do noch für Bugs hochkommen, bis neulich

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
18.01.2015, 19:45 Uhr
proof80



Gratulation - spannend wie ein Krimi :-)

Aber der link läuft leider ins Leere. Wie können wir da die Fortsetzung mitlesen?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
016
19.01.2015, 08:52 Uhr
Werner_8085



Hallo Heinrich,

sorry-hatte die Klammer mit kopiert, hier der richtige Link:
http://www.mikrocontroller.net/topic/63505

Details über meine Web-Seite:
http://werners-seiten.de/index.html -> Computer -> Moppel Wiederbelebung

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
017
19.01.2015, 18:37 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

Schön, das er wieder moppelt
Ich werde jetzt ein bisschen in Deiner Moppel-Webseite schmökern...

bis dann, LG Heinrich
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
018
01.03.2015, 20:13 Uhr
Werner_8085



Moin, Moin,

Das CF-Karteninterface macht deutliche fortschritte:
Datenaustausch über die PIO8255 ist nun komplett fertig, gegenüber dem 1.Entwurf sind die beiden Adressleitungen A0,A1 entfallen. Der Moppel leitet den Datenaustausch mit einem Befehl (Reset, Spur/Sektor setzen und Sektor lesen/schreiben) ein.
Die Parameter folgen dann im nächsten Byte, Daten werden dann in einem Rutsch (512byte) ausgetauscht.

Mit den Testprogrammen können die grundlegenden Funktionen auf der Moppel-Monitorebene durchgeführt werden. Für den Test habe ich auf der CF-Karte ein 2MB großen Datenbereich angelegt. Da dieser im FAT-Bereich integriert ist musste ich dafür Sorge tragen, dass der Moppel nicht wild auf der CF-Karte schreibt, sondern nur innerhalb dieses Datenbereiches. Im Hexeditor ist dieser
Bereich leicht zu lokalisieren und der Startsektor dann entsprechend angepasst - mit der 4MB Karte liegt er ab Sektor 128. Das ist als Offsetwert in die Berechnung auf dem AVR berücksichtigt. Wenn die Software ins CP/M-Bios integriert wird muss ich dann nochmals darüber nachdenken ob es bei der Übertragung beim kompletten physikalischen Sektor bleibt oder ob es sinnvoller ist, das auf logische Sektoren (CP/M - 128Byte) zu ändern. Hierzu muss dann im AVR das Blocking/Deblocking durchgeführt werden -
schauen wir mal was der bessere Weg ist ...

LG Werner
Listings habe ich auf meiner Seite hinterlegt
http://werners-seiten.de

PS: Der Tip von Wolfram mit der Datei als Platzhalter für das CP/M Dateisystem
war goldrichtig - danke.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
019
01.03.2015, 21:41 Uhr
proof80




Zitat:
Werner_8085 postete
...
Wenn die Software ins CP/M-Bios integriert wird muss ich dann nochmals darüber nachdenken ob es bei der Übertragung beim kompletten physikalischen Sektor bleibt oder ob es sinnvoller ist, das auf logische Sektoren (CP/M - 128Byte) zu ändern. Hierzu muss dann im AVR das Blocking/Deblocking durchgeführt werden -
schauen wir mal was der bessere Weg ist ...

LG Werner
Listings habe ich auf meiner Seite hinterlegt
http://werners-seiten.de

PS: Der Tip von Wolfram mit der Datei als Platzhalter für das CP/M Dateisystem
war goldrichtig - danke.

Freut mich :-)

Zum Blocking-Deblocking: Dazu ist das CP/M in der Lage - muss ja bei diversen Diskettenformaten so sein. Also würde ich's auf der AVR-Seite so einfach wie möglich machen. Dann kannst Du für's BIOS auch direkt die Diskettenparameter aus dem YAZE-Format übernehmen und musst die nicht noch umrechnen.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
020
07.03.2015, 21:06 Uhr
Werner_8085



Moin, moin,

es gibt wieder ein paar Neuigkeiten.
Der Moppel kann nun auf der Monitorebene CF-Karten lesen/schreiben.

Noch nicht ganz perfekt, Routinen stehen noch im RAM, da etwas zu groß
für den EPROM-Bereich und die Fehlerbehandlung bei nicht gesteckter
Karte sind noch nicht optimal, aber für die ersten Experimente zu
gebrauchen.

Neugierig, einfach mal in meinen Seiten stöbern.

LG Werner
http://werners-seiten.de/index.html
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
021
08.03.2015, 17:33 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

Schau mal hier: http://www.kolter.de/sepia.html#ZIDE

Grüße, Heinrich
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
022
08.03.2015, 18:02 Uhr
Werner_8085



Hallo Heinrich,

Seite kenne ich, absolute Profi-Maschine, da kann ich nicht mithalten ;-))

Mein Moppel ist aber auch vor guten 30Jahren entwickelt worden, zu der Zeit
gab es gerade mal PAL's für die Adresscodierung und der Rest war auch sehr bescheiden (2KSRAM für über 10DM).

Aber am Sepia sieht man sehr gut, das 8Bit immer noch sinnvoll eingesetzt werden können, so sind wir hier mit unseren alten Teilen wohl doch nicht nur von "Gestern" ;-)

LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
023
20.03.2015, 19:13 Uhr
Werner_8085



Moin, moin,

Zwischenstand:

Der Hex-Lader bedient nun den Speicher ab 4000h in der Bank #1.
Damit kann nun das Bios direkt am richtigen Ort geladen werden.
Das Prozedere ist noch etwas umständlich -
1. CP/M Boot normal von Diskette
2. Reset
3. Mit dem Hex-Lader das Bios in Bank #1 überschreiben
4. Bios Kaltstart aufrufen
testen, testen, testen ...

Das erspart aber den mühseligen Zusammenbau von CCP,BDOS und Bios
auf den Systemspuren.

CP/M Bios:
hier sind nun die grundlegenden CF-Routinen eingebaut, derzeit noch
mit dem DPB der Floppys (da ich nur eine Baustelle haben will ;-))

Kopieren von Dateien funktioniert und werden im Inhaltsverzeichnis
richtig angegeben. Auf der Karte bleiben dereit immer zwei Sektoren
zwischen den belegten Blöcken frei, das liegt sicherlich an der leidigen
Umrechnerei zwischen logischen und physikalischen Sektoren.

CP/M kann ja nur 128Byte/sek, der Moppel 256Byte/sek und die
CF-Karte hat ja 512Byte/sek.
Herr Gößler hat im BIOS einen Buffer für 1kByte eingebaut
und liest immer 4 Sektoren mit entsprechenden Blocking/Deblocking.

Da muss ich die CF-Karte zwischenfummeln, oder wie der Moppel mit
256Byte/sek. arbeiten, dies erfordert aber ein Blocking auf der
AVR-Seite ...

Eure Ideen dazu sind herzlich willkommen.
LG Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
024
21.03.2015, 17:29 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Werner

Du schreibst: "Das erspart aber den mühseligen Zusammenbau von CCP,BDOS und Bios auf den Systemspuren."

Diesen Vorgang habe ich mir vereinfacht, indem CCP und BDOS zunächst als .BIN vorassembliert werden (da nun feste Größe = immer an die gleichen Adressen) und das "variable" BIOS zum Schluss nur noch oben drauf gesetzt wird. Ein batch-file bindet mir die binär-dateien dann zu einem .SYS zusammen, dass ich dann auf die CF schreibe. Mit dem CP/M-Urlader (IPL) lade ich dann nur noch das OS beim booten direkt ins obere SRAM und schalte den IPL(EPROM) transparent. Jetzt nur noch ein JP auf den GOCPM vector und Fertig. Den .SYS kann ich zusätzlich mit in ein (eigenes) SYSGEN.COM einbinden, um einen weiteren Datenträger mit den bootsektoren zu beschreiben. Das alles war ein bischen Frickelarbeit, da ich mich in einen anderen Assembler (mit Phase/Dephase Befehlen) erst einarbeiten musste.

LG, Heinrich
--
Es gibt keine Probleme - nur Lösungen !
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1- [ 2 ] [ 3 ]     [ Computer ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek