Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Probleme mit Forthex.KCC und Modul M026 » Themenansicht

Autor Thread - Seiten: -1-
000
02.11.2010, 13:53 Uhr
Henning



Hallo KC- Forth - User,

Ich bin am KC85/4 am werkeln.
Ich habe mal eine Anfrage zum Start von abgespeicherten
(F)- Programmen, wo ich derzeit "im Wald" stehe.

Z.B. habe ich das Programm Polygon.(F) über CP/M- Modus
vom Stick auf eine CAOS-Diskette gebracht, auf der auch
Forthex.KCC mit drauf ist.
Nach Einladen von Forthex.KCC über Fload kann ich im Forth-
Modus Dload Polygon eingeben, da lädt sich nix. Wenn ich
z.B. 4 8 Dload Polygon eingebe wird mir etwas geladen
und bei Eingabe von 4 List kann ich als SCREEN 4 auf-
gelistet original das in der Beschreibung zum M026 S.71-
72 abgedruckte Beispiel Polygon sehen. Es ist allerdings
vorne mit Zahlen 1-15 versehen.
Aber wie um Gottes Willen startet man das ? oder wie speichert
man es richtig ab, so dass es beim Einladen anläuft ?

Ich habe auch probiert, gemäss S. 48 o.g. Beschreibung, 4 Load
zu geben, dann zeigt er o.K., mit EDITOR bringt er auch o.K.
Bei VLIST bringt er dann als erste Worte Haus vom Nikolaus und
(HAUS). Dennoch hilft mir das nix, denn auch mit diesen Worten
lässt sich nix starten.

Am Modul kann es nicht liegen, denn wenn ich gemäss S. 17
1 100 100 100 50 plot (enter) eingebe zeichnet er mir sehr schön
und schnell eine Hires-Diagonale, aber wie speichert man sowas
mit DSAVE so auf Diskette, dass es beim Wiedereinladen sofort
zeichnet, oder nach Eingabe eines Startbefehls (welcher ?)
startet ?

Klar habe ich mich bisher erst kurz mit dem Forth beschäftigt,
dass ich das .(F) Programm nicht starten kann ärgert, mich aber
trotzdem.

Hat einer eine, auch für mich verständliche, einfache Lösung.

Im voraus besten Dank.

Freundliche Grüsse von

Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
04.11.2010, 09:08 Uhr
Henning



Hallo KC- Forth - User,

habe mit Freude gesehen, dass bald 90 User meine Anfrage
gelesen haben.
Bin allerdings am Rätseln, warum zu meinem Problem bisher
nicht eine Antwort kam. Ist das Problem zu banal oder zu
schwierig ?

Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
04.11.2010, 09:21 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Henning schrieb
Ist das Problem zu banal oder zu schwierig ?

Es gibt wahrscheinlich fast keine Leute (mich eingeschlossen), die FORTH programmieren.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
04.11.2010, 10:00 Uhr
Henning




Zitat:
Rüdiger schrieb

Zitat:
Henning schrieb
Ist das Problem zu banal oder zu schwierig ?

Es gibt wahrscheinlich fast keine Leute (mich eingeschlossen), die FORTH programmieren.

Hallo Rüdiger,

danke für die schnelle Erklärung der "Sprachlosigkeit der Forth-USER" , aber das was ich versuche ist ja fast absolute Anfangsphase einer Beschäftigung mit Forth. Und am Anfang klemmts meist besonders, zumindest bei mir.

Vielen Dank für Deine Rückinfo.

Gruss
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
04.11.2010, 13:29 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Ich kenne das Forthex.KCC nicht und kann Dir deshalb keine konkreten Hilfen geben, aber:

FORTH hat eine interne Art RAM-Disk. Mit DLOAD lädst Du Dateien in diese RAM-Disk. Die RAM-Disk ist aber kein durchgehender Speicher wie bei einem Texteditor, sondern besteht aus Häppchen von 1024 Byte (oder 512 Byte) Größe, den einzelnen "Screens" oder "Buffer".

4 LIST zeigt den 4. Buffer an, 4 LOAD compiliert den Buffer, d.h. es wird so getan, als wenn man alles in diesem einen Buffer stehende per Kommandozeile eingegeben würde.
Normalerweise lädt man mehrere Buffer auf einen Schlag, z.B. 4 8 THRU.

Nach dem Kompilieren ist das FORTH-Wörterbuch (bei figFORTH mit VLIST anzuzeigen) um neue Wörter reicher geworden. Und diese neuen Wörter kann man per Kommandozeile genauso aufrufen wie alle anderen Wörter.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 04.11.2010 um 14:05 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
04.11.2010, 13:36 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

PS: Eigentlich ist das Forth-Buch des KC85/3 doch sehr gut als Einstieg in FORTH nutzbar...

http://www.mpm-kc85.de/html/m026_forth.htm
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 04.11.2010 um 13:38 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
04.11.2010, 14:04 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

das ist der Code von POLYGON.(F)


Quellcode:
Screen 00 ---------------------------
01 : POLYGON
02   <BUILDS 0 DO MINUS , MINUS ,
03   LOOP 00. , ,
04   DOES> >R BEGIN R> DUP 4 + >R
05               2@ 2DUP CR
06            WHILE PLOT
07            REPEAT
08         R> DROP DROP DROP DROP
09            DROP DROP ;
10 -150 150 150 0
11 -75 75 -75 -75
12 0 -150 150 150
13 0 -150 -150 0
14 8 POLYGON (HAUS) CR
15 : HAUS_VOM_NIKOLAUS 1 70 15
16 (HAUS) ;

Das ist schon Forth für richtig Fortgeschrittene: Hier wird ein neues Compilationswort POLYGON definiert, mit dessen Hilfe das Wort (HAUS) definiert wird. HAUS_VOM_NIKOLAUS ist das Hauptwort in diesem Programm und müsste m.E. nach dem Laden des Buffers direkt von der Kommandozeile aus gestartet werden können.

ok
HAUS_VOM_NIKOLAUS

Funktioniert denn PLOT (mit Parametern!) direkt von der Kommandozeile aus?

NB: Dieses Beispiel ist auch im o.a. Handbuch komplett beschrieben...
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 04.11.2010 um 14:12 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
04.11.2010, 20:02 Uhr
Henning



Hallo Volker,

vielen Dank für Deine Antwort, aber das das Beispiel Polygon
in dem Buch als Beispiel aufgeführt ist, nützt mir praktisch
bei meinem Problem gar nix.
Wenn ich mit 4 8 Polygon mittels Fothex.KCC vom Stick lade, wird mir geschrieben 81 Polygon MSG Doppelkreuz 12.
Da ist laut Handbuch S.86 oben die Datei kleiner als der angegebene
Screen. Trotzdem sind mit 4 List das Programm richtig gelistet
und nach 4 LOAD bei VLISTdie ersten 3 Worte
Haus_vom_ Nikolaus (Haus) und Polygon.

Jetzt kommts, obwohl z.B: bei Eingabe in die Kommandozeile von
1 100 100 100 50 PLot (ENTER) sofort eine Hires- Diagonallinie
gezeichnet wird, kommt bei Eingabe von Haus_vom_Nikolaus ein o.K.,-
aber nix tut sich. Wenn ich direkt in den Screen gehe und pro Zeile
mit Enter bestätige bringt er o.K., da er aber das o.K. in die Zeilen
schreibt zeichnet er manchmal falsch etwas. Gehe ich hinten in die
Zeilen schreibt er o.K. zwar nicht in die Zeilen, aber er macht nix.

Es ist auch kein Unterschied wenn ich Polygon mit 1 Dload Polygon
einlade er schreibt halt dann MSG Doppelkreuz 1 und bringt mit
1 List das Programmlisting als Screen Doppelkreuz 1 richtig.
Aber das nützt mir gar nix. Nach 1 load steht wie oben alles bei
Vlist richtig alle o.g. 3 Worte am Anfang, mit Eingabe in die Kommandozeile Haus_vom_Nikolaus bringt er erst o.K., macht nix und bei nochmaliger Eingabe MSG Doppelkreuz 1 und er zeichnet echt wieder nix.

Es ist für mich ein Phänomen, ich bring Ihn aus dem Screen heraus
einfach nicht zum Zeichnen, obwohl Direkteingabe Plot sofort funktioniert.

Ja, da ist guter Rat teuer, es ist die berühmte Banane, die man sehen
und riechen, aber nicht erreichen und essen kann.

Für jeden weiteren Hinweis bin ich dankbar und bereit alles aus-
zuprobieren.

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
04.11.2010, 20:22 Uhr
ThomasR

Avatar von ThomasR

'n Abend, Leute!



Zitat:
volkerp schrieb
das ist der Code von POLYGON.(F)


Quellcode:
Screen 00 ---------------------------
01 : POLYGON
02   <BUILDS 0 DO MINUS , MINUS ,
03   LOOP 00. , ,
04   DOES> >R BEGIN R> DUP 4 + >R
05               2@ 2DUP CR
06            WHILE PLOT
...

...

Hier steckt schon ein Fehler drin, wenn ich jetzt auch nicht überschaue, ob der ursächlich für Hennings aktuelle Probleme ist.

Im Downloadbereich des KC-Club steht (fälschlich)

...
05 2@ 2DUP CR
...

doch es muß heißen (vgl. Handbuch S.72)

...
05 2@ 2DUP OR
...
Bei mir wird jedenfalls sowohl am Originalgerät als auch unter der Emulation das Haus gezeichnet.

Das (wiederholte) Zeichnen läßt sich übrigens gut verfolgen, wenn man immer wieder die Farbe wechselt, also vor "HAUS_VOM_..." eingibt 3 INKP, beim nächsten Mal 6 INKP usw. (0 ... 7).

Viel Erfolg beim Probieren!

Thomas


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 04.11.2010 um 20:25 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
05.11.2010, 17:41 Uhr
Henning



Ja, liebe Freunde Volker und Thomas,

leider klappt das alles bei mir nicht. Ich kann ja versuchen im aufgelisteten
Screen Polygon das CR mit dem Kurser zu erreichen und dort OR reinzuschreiben, aber es wird echt so nicht geändert im Screen.
Wenn ich den SCREEN wieder aufrufe steht immer wieder das
falsche CR im Screen.
Nach Eingabe von Haus_vom_Nikolaus kommt o.K. und es passiert nix.
Nach Eingabe von Polygon wird geschrieben MSG Doppelkreuz 4 und rechts
7 u Mp 5 L und links ? MSG Doppelkreuz 1.
Ich habe auch versucht unter gleichem Namen und unterschiedlichem
Namen Varianten mit DSAVE auf Band zu Speichern, wo ich im SCREEN
für CR an der Stelle OR eingeschrieben hatte, beim Wiedereinladen
aller dieser Varianten mit DLOAD sind aber immer stets noch der falsche
CR Befehl im Screen.

Ich habe ca. 3 STD. gewerkelt und dabei festgestellt, dass SCREEN-
Befehle wie in der M026 Anleitung beschrieben nur teilweise an-
fertigbar sind, z.B. das mit EXPECT funktionierte gar nicht.

Es ist zu vermuten, dass sich mein M052 und mein M021 vielleicht mit dem M026 nicht vertragen.

Trotzdem steht dem entgegen, das direkt eingegebene Plot-
befehle schnell und korrekt in dem Forth ausgeführt werden.

Einzige Chance ist, und das ist eine Bitte an Thomas mir eine
korrigierte Polygon.(F) - Datei, wo der Fehler CR in OR verbessert
ist mir an eine e-mail anzuhängen und ich schau mal, ob es nur
daran liegt. Aber das wäre die berühmte "Ringeltaube" an die ich
nicht mehr ernsthaft glaube.

Kurze Zusammenfassung,
alles sehr einfach und einleuchtend, funktioniert nur leider nicht,

Herzliche Grüsse von

Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
05.11.2010, 17:45 Uhr
Henning



Hallo Volker und Thomas,

ich hab noch was vergessen, obwohl es nur für den KC85/3
gefordert wurde, habe ich auch mit Switch 02 00 das Basic
vor der Arbeit mit Forth an meinem KC85/4 ausgeschaltet,
gebracht hat es aber nix.

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
05.11.2010, 18:05 Uhr
ThomasR

Avatar von ThomasR

Hallo Henning,


Zitat:
Henning schrieb
... leider klappt das alles bei mir nicht. Ich kann ja versuchen im aufgelisteten
Screen Polygon das CR mit dem Kurser zu erreichen und dort OR reinzuschreiben, aber es wird echt so nicht geändert im Screen.
Wenn ich den SCREEN wieder aufrufe steht immer wieder das
falsche CR im Screen.

ändern mußt Du es so (sofern Deine Zeilennummern so wie in Volkers Beitrag 006 sind):
EDITOR
5 P 2@ 2DUP OR (und ENTER-Taste)
Mit 1 LIST (oder 4 LIST, oder welche screen-Nummer Du hast) siehst Du, daß die Änderung nun geklappt hat.

Ggf. bisherige Neubefehle löschen: FORGET POLYGON

Neu kompilieren: 1 LOAD (oder 4 LOAD oder welche screen-Nummer auch immer), sollte nach paar Sekunden ein OK ohne irgendeine MSG auftauchen.


Zitat:
Nach Eingabe von Haus_vom_Nikolaus kommt o.K. und es passiert nix.

Groß- und Kleinschreibung ist nicht egal, hast Du HAUS_VOM_NIKOLAUS eingegeben?

Zitat:
Nach Eingabe von Polygon wird geschrieben MSG Doppelkreuz 4 und rechts
7 u Mp 5 L und links ? MSG Doppelkreuz 1.

Siehe Handbuch Seite 71 - POLYGON erwartet z.B. vier Zahlenpaare (also acht Zahlen) auf dem Stack und bekommt als Argument vorher die Anzahl der zu erwartenden Paare, in dem Fall 4 POLYGON.


Zitat:
Einzige Chance ist, und das ist eine Bitte an Thomas mir eine
korrigierte Polygon.(F) - Datei, wo der Fehler CR in OR verbessert
ist mir an eine e-mail anzuhängen ...

Mach ich doch glatt!

Viel Erfolg, tschüß,

Thomas
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 05.11.2010 um 18:19 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
05.11.2010, 18:24 Uhr
Henning



Hallo Volker und Thomas,

Danke ! Es funktioniert jetzt, da ich die Fehlerzeile in 4 habe, musste
ich geben EDITOR 4 P 2 at 2DUP OR
Nach Eingabe von dem Namen mit Grossbuchstaben zeichnet er tatsächlich
das Haus. Ich glaube ab sofort wieder an "Ringeltauben" !
War ja Schwergeburt !
Versuche die verbesserte Variante nun zu speichern.

Herzliche Grüsse und Dank !
von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
06.11.2010, 14:51 Uhr
Henning



Hallo Volker und Thomas,

mit 4 4 DLOAD POLKORR konnte ich erfolgreich das korrigierte
POLYGON so speichern, dass es beim Einladen auch wieder
richtig läuft.

Also vielen Dank nochmal !

Es läuft mittlerweile auch das Beispielprogramm WAREN.(F),
Probleme macht noch QMCAD282.(F).

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
06.11.2010, 19:33 Uhr
Henning



Hallo Volker, Thomas und andere USER die vorstehende Notiz
gelesen haben.

Ich muss die Korrektur anfügen, dass natürlich nicht mit DLOAD
gespeichert wurde, sondern natürlich mit 4 4 DSAVE POLKORR.

Bitte den Fehler entschuldigen.

Herzliche Grüsse von

Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
28.11.2010, 10:59 Uhr
Henning



Hallo KC85 Forth- USER,

habe da noch eine Frage mit dem M026- Modul.
Ich habe derzeit das Problem, dass ich nicht ständig
Module umstecken möchte, um verschiedene Programme
zum Laufen zu bringen. Aber selbst wenn ich in ein M011
eine Forth-Programmvariante laden will, greift bei MCAD303.KCC
dieses Programm immer auf das M026 zu und nicht auf das
diskettengeladene Programm in einem M011 oder M035.

Immer wenn ich das M011 oder M035 auf 08 z.B.mit dem Disc-
geladenem Forth-KC.KCC 0248 20B7 mit C1 aktiviere, wird
mir vom Programm MCAD303.KCC geschrieben : kein Forth
vorhanden. Entaktiviere ich das M011 oder M035 mit C0,
funktioniert zwar das MCAD303.KCC indem es M026 nutzt,
aber ich kann nix mehr drucken, da ja das M011 oder M035
auf 08 ausgeschaltet ist.
Sieht jemand da eine Lösung ?.

Für jeden Hinweis bin ich sehr dankbar,
Gruss
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
28.11.2010, 13:33 Uhr
kaiOr

Avatar von kaiOr

Hallo,

deine Vorgehensweise ist schwer nachzuvollziehen.

Viele KC-Programme sind nur in dem für sie vorgesehenen Speicherbereichen lauffähig. Einerseits weil der Programmierer vielleicht Speicheradressen direkt adressiert/aufruft anstatt relativ zum Ausgangspunkt, andererseits weil versch. Speicherbereiche unterschiedliche Zugriffszeiten/Programmlaufzeiten aufweisen, andererseits weil unklar wäre wo FORTH nun eigentlich die Systemvariablen und Screens vom Nutzer hinpackt und wieder andererseits weil bestimmte Speicherbereiche mehrfach belegt sind Stichwort "Segmentierung". Wie liest z.B. ein laufendes Programm im ROM E den Speicher vom CAOS ROM E aus ohne sich dabei selbst zu deaktivieren? Von RAM 4 oder 8 aus wär das kein Problem gewesen.


Zitat:
Henning schrieb
Immer wenn ich das M011 oder M035 auf 08 z.B.mit dem Disc-
geladenem Forth-KC.KCC 0248 20B7 mit C1 aktiviere

Das M011 steckt also in Schacht 08 und du hast Forth-KC.KCC 0248 20B7 geladen oder wurde vorher das M011 mit irgend einem Switch in einen bestimmten RAM-Bereich eingeblendet und mit "LOAD Forth-KC XXXX YYYY" das Programm in dessen Speicherbereich gelegt um danach mit "SWITCH 08 C1" das RAM-Segment ab C000h aktiv zu schalten? Bist du dir auch sicher das die RAM-Version von Forth mit Schreibschutz klarkommt und nicht selbstverändernden Code enthält?

MfG

Dieser Beitrag wurde am 28.11.2010 um 14:11 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
29.11.2010, 11:13 Uhr
Henning



Hallo kaiOr,

Danke für Deine Antwort. Na ja, die Befürchtung, dass das MCAD303.KCC
unter Forth bestimmte Speicherbereiche braucht und direkte Adressierungen
hat, hatte ich auch schon.
Ich hatte mit SWITCH 08 C3 , Fload 0248 20B7 , Name: FORTH-KC.KCC und
Switch 08 C1 das Programm in mein M035 auf 08 geladen.
Deine Idee finde ich gut, dass u.U. das M035 mit Switch 08 C1 in diesem Fall nicht schreibschutzaktiviert werden darf.
Ich werde mir mal diesen Befehl verkneifen und gucken, was dann passiert.
Vielen Dank für die Hinweise.

Gruss
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
29.11.2010, 13:22 Uhr
Henning



Hallo kaiOr,

noch ein Nachtrag, ich habe das mit Weglassen des Switch 08 C1 probiert,
das klappte nicht, auch dort wird geschrieben :" there is no Forth".
Nun hab ich mir mal die Adressen angeguckt Forth-KC.KCC läuft auf
0248 20B7 und MCAD303.KCC belegt die Adressen 0200 5D00. Da denk
ich, dass sie sich überschneiden und MCAD303.KCC deshalb nicht anläuft.
Auch der Versuch Forth-KC.KCC versuchsweise auf C000 zu legen (da
läuft wohl das M026) funktionierte nicht.
Ich glaube diese Versuche kann ich abhaken, zumal ich ja zu den bisherigen
Problemen noch befürchten muss, dass in MCAD303.KCC noch direkte Ad-
ressierungen vorliegen.
Einzige Hoffnung ist, dass irgend ein anderer USER, genial anders, das
MCAD303.KCC ohne M026 nur mit Forth-KC.KCC zum Laufen gekriegt hat.
Das würde mich allerdings interessieren.

Herzliche Grüsse
von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
29.11.2010, 13:23 Uhr
susowa




Zitat:
Henning schrieb
Ich hatte mit SWITCH 08 C3 , Fload 0248 20B7 , Name: FORTH-KC.KCC und
Switch 08 C1 das Programm in mein M035 auf 08 geladen.

Hallo Henning,

so wird das nichts, Du musst Dich mehr mit den Modulen und der SWITCH-Anweisung beschäftigen, sonst bleiben Deine kleinen Erfolge nur Zufallstreffer und sind nie (auch für Dich nicht) reproduzierbar.

Wie kaiOr schon schrieb, musst Du dort, wo ein Programm hingeladen wird und dann auch laufen soll, RAM bereitstellen, wenn vom System her dort keiner vorhanden ist. Das trifft beim KC85/4 immer auf RAM ab C000H zu.
Und Du kannst nicht einfach ein Programm auf eine Adresse laden und dann mit SWITCH-Befehl das Modul umschalten und hoffen, dass das Programm auf der umgeswitchten Adresse läuft! Das kann nicht funktionieren!

Die Adresse legt der zweite SWITCH-Parameter fest. Gemeinerweise lassen sich dort beliebige Parameter angeben, was noch lange nicht heisst, dass dann dort auch RAM vom Modul bereitgestellt wird, da es bes. bei den grossen RAM-Modulen hardwareseitig Beschränkungen gibt (siehe auch Artikel auf meiner Homepage).

Das M035 solltest Du bei Deinen Versuchen mit FORTH oder TEXOR aussen vor lassen - das läuft immer NUR auf 8000H, egal was Du mit SWITCH dort schalten willst.

Wenn überhaupt, wirst Du nur mit M011 Erfolg haben, für Deine jetzigen Absichten empfehle ich Dir daher, das M011 in einen Modulschacht mit einer niedrigeren Nummer als das M035 zu stecken, dann stört das nicht und ausschliesslich mit dem M011 zu switchen. Weiterhin solltest Du alle gesteckten ROM-Module entfernen, sofern vorhanden.

Und wenn Du Hinweise oder Rat hier öffentlich im Forum suchst, solltest Du mehr Informationen über Dein System (welche Module wo und in welchem Zustand) preisgeben und anschliessend genau Schritt für Schritt beschreiben, was Du wie und womit gemacht hast. Was Du dazu bisher immer geschrieben hast, ist zu ungenau und unvollständig.


MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
29.11.2010, 15:51 Uhr
Henning



Hallo Ralf,

da hast Du sicher recht, dass bei mir Komissar Zufall noch eine
beträchtliche Rolle spielt. Aber ich liebe nun mal Experimente.

Dennoch finde ich das nicht so schlimm, denn vieles läuft dennoch
an meinem KC85/4 gut.
Ich habe schon x-mal probiert M011- Module auf niedrigen Steck-
plätzen, vor allem auf 08, einzusetzen.
In keinem einzigen Fall funktionierte da Drucker (LQ400) und M052
gemeinsam richtig. Auch mit Ausdrucken bei EDAS16B.KCC hatte ich
dort immer Probleme, insbesondere bei eingeladenen .ASM- Programmen.
Am besten funktionierte nun mal das M035 auf Steckplatz 08 und zwar
sowohl bei EDAS16B als auch bei TEXOR/TEXOREX.
Warum das so ist, weiss ich nicht, erschreckt mich aber auch nicht,
soweit alles funktioniert.
Meine Anfragen zu MCAD303.KCC und Forth waren eigentlich nur um
vielleicht Zusatzmöglichkeiten zu haben, um nicht für HRG- Ausdrucke
immer Module umstecken zu müssen.
Sobald ich das tue und das M021 auf 08, M052 auf 0C und M026 auf
14 habe, gibt es ja mit Forth und HRG-Ausdruck aus MCAD303.KCC auch
keine Probleme.
Das das alles "vielleicht" noch anders oder besser geht, will ich ja gar nicht an-
zweifeln.
Aber und das ist für mich das eigentliche Phänomen, obwohl mich alle Welt,
sicher gut gemeint, damit lockt ein M011 auf 08 oder niederen Steckplätzen
zu setzen, das was ich für mich für primär halte funktioniert immer nur,
wenn M035 auf 08 steckt, halt bekannterweise ausser Forth.
Die mich auch deshalb stark interessierende Frage ist eigentlich, warum das
gerade mit M035 auf 08, gegen alle Theorie, bei mir so gut klappt ?

Ich weiss, dass Deine Hinweise sehr fundiert sind und ich gelobe Besserung.

Besten Dank nochmal,
herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
29.11.2010, 23:23 Uhr
susowa




Zitat:
Henning schrieb
Ich habe schon x-mal probiert M011- Module auf niedrigen Steck-
plätzen, vor allem auf 08, einzusetzen.
In keinem einzigen Fall funktionierte da Drucker (LQ400) und M052
gemeinsam richtig. Auch mit Ausdrucken bei EDAS16B.KCC hatte ich
dort immer Probleme, insbesondere bei eingeladenen .ASM- Programmen.

Der Grund liegt ganz einfach darin - "es kann immer nur Einen geben". Die Software, welche sich in allen ROM-Modulen, wie TEXOR, DEVELOPMENT, FORTH, M052-EEPROM u.s.w. befindet, läuft auf Adresse C000H. Wenn das M011 in einer niedrigeren Steckplatzadresse steckt, drängelt es sich bei Aktivierung in den Vordergrund und behindert die ROM-Software, welche dann nicht mehr laufen kann.

Der Schacht bestimmt das so, nennt man beim KC Prioritätssteuerung der Module - der niedrigste Schacht gewinnt immer, egal ob sich da Speicher gegenseitig behindert oder I/O-Aktionen über die gleiche Adresse gemacht werden sollen. Steht alles in den Modulhandbüchern oder auch im KC-Handbuch.

Wenn Du also ein Programm im ROM benutzen willst, muss das M011 aus sein, wenn es sich in einem niedrigeren Schacht befindet. Umgedreht gilt das genauso, wenn Du ein Programm in das M011 auf Adresse C000H lädst und in einer niedrigeren Schachtadresse befindet sich ein EINGESCHALTETES ROM-Modul, kannst Du das M011-Programm nicht ausführen - es wird vom ROM-Modul überdeckt, welches sich durch die Prioritätssteuerung dann im Vordergrund auf der gleichen Adresse C000H befindet.


Zitat:
Am besten funktionierte nun mal das M035 auf Steckplatz 08 und zwar
sowohl bei EDAS16B als auch bei TEXOR/TEXOREX.
Warum das so ist, weiss ich nicht, erschreckt mich aber auch nicht,
soweit alles funktioniert.

Das scheint nur so :-). Es funktioniert nur deshalb, weil das M035 die ROM-Module und ihre Software auf C000H nie behindert. Warum - egal was Du mit Switch machst, es ist immer auf 8000H aktiv. Dort liegt beim /4 der RAM8, welcher als eingebauter Speicher im Grundgerät immer eine höhere Priorität als externer Speicher in Modulen hat, steht auch im Handbuch. Ein M035 ist also sogar genaugenommen grundsätzlich wirkungslos - da es immer vom RAM8, welcher sich beim /4 im Vordergrund befindet, überdeckt wird. Egal was Du damit machst, es stört nie und deshalb funktionieren die anderen Sachen bei Dir aus dem ROM heraus.


Zitat:
Meine Anfragen zu MCAD303.KCC und Forth waren eigentlich nur um
vielleicht Zusatzmöglichkeiten zu haben, um nicht für HRG- Ausdrucke
immer Module umstecken zu müssen.

Das brauchst Du auch nicht aber Du must dafür sorgen, dass sich die Module und ihre Software nicht gegenseitig behindern. Das kannst Du leicht selbst probieren. M011 in Schacht 08 stecken aber ausgeschaltet lassen. Du kannst dann trotzdem die ROM-Varianten von FORTH oder TEXOR in höheren Modulschächten benutzen und auch auf Dein M021 (nach Laden des Treibers) drucken.


Zitat:
Die mich auch deshalb stark interessierende Frage ist eigentlich, warum das
gerade mit M035 auf 08, gegen alle Theorie, bei mir so gut klappt ?

Das solltest Du jetzt selbst beantworten können :-) und es ist keinesfalls entgegen aller Theorie, Computer können nur logisch ...


MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
30.11.2010, 12:27 Uhr
Henning



Hallo Ralf,

vielen Dank für Deine Mühe, mir da wichtige Zusammenhänge zu erklären.
Na das mit dem M035 hat ja dann eine logische Ursache. Das wusste ich
so nicht. Jetzt ist mir auch klar, warum ich immer nur z.B. mit dem M035
auf 08 oder dem M026 auf 14 was machen konnte.
Allerdings glaube ich mich zu erinnern, dass immer, wenn das M011 auf 08 oder das M035 auf 08 ausgeschaltet war (M052 war auf 0C),
kein Druck mit dem M021 auf 10 möglich war.
Ansonsten werde ich das von Dir Geschriebene beherzigen und damit wohl zukünftig besser zurechtkommen.

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
30.11.2010, 13:23 Uhr
Henning



Hallo Ralf,

ich habe noch einen Nachtrag, also ich hab das nochmals nach-
vollzogen, wenn ich das M035 auf 08 habe, das M052 auf 0C und
das M021 auf 10 und das M026 auf 14 ist Ausdruck nur dann möglich
wenn das M035 angeschaltet ist.
Wenn das M035 auf 08 aus ist, ist selbst im Caos-Menu, wenn dort
der LX400.KCC geladen ist und LX400 3 gegeben wird in keinem Fall
ein Aktivierungspeepton des Druckers zu hören und auch nix zu
drucken.
Sobald ich mit SWITCH 08 C1 oder C3 das M035 anschalte funktioniert
sofort der Ausdruck. Ist das normal ?
Würde sich da wirklich das M011 auf 08 in dieser Hinsicht anders ver-
halten und im ausgeschaltetem Zustand Druck ermöglichen?

Für eine Antwort wäre ich sehr dankbar.
Gruss
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
30.11.2010, 19:52 Uhr
susowa




Zitat:
Henning schrieb
ich habe noch einen Nachtrag, also ich hab das nochmals nach-
vollzogen, wenn ich das M035 auf 08 habe, das M052 auf 0C und
das M021 auf 10 und das M026 auf 14 ist Ausdruck nur dann möglich
wenn das M035 angeschaltet ist.

Was sich auf alle Fälle behindern wird, sind die Programme im M052 und M026, da kann immer nur eines benutzt werden.

Sehr hilfreich wären an dieser Stelle mehr Infos, z.B. die kompletten Ausgaben der beiden CAOS-Kommandos %MODUL und %SYSTEM, einmal wenn der Drucker initialisiert werden kann und einmal wenn nicht und auch der genaue Ladebefehl für LX400.KCC.

Nach jedem RESET muss das M021 neu initialisiert werden, ich hoffe, dass Du das auch machst, sonst geht die Druckfunktion (Hardcopy per SH+CLR) auch nicht.


Zitat:
Sobald ich mit SWITCH 08 C1 oder C3 das M035 anschalte funktioniert
sofort der Ausdruck. Ist das normal ?

Nein, wie schon geschrieben, sollte der Zustand des M035 in keinem Fall stören.


Zitat:
Würde sich da wirklich das M011 auf 08 in dieser Hinsicht anders ver-
halten und im ausgeschaltetem Zustand Druck ermöglichen?

Die Frage ist an sich unlogisch, wenn das M011 ausgeschaltet wird, ist es speichermässig unsichtbar, warum sollte es dann etwas verbessern? Wenn das so wäre, hättest Du ein anderes Problem - Deine Modulsteuerung spinnt, dass Module, egal welcher Art, ab 08 aufsteigend ohne Lücken gesteckt werden müssen, hast Du sicherlich beachtet !?


MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
01.12.2010, 11:09 Uhr
Henning



Hallo Ralf,

danke für die Antwort und Deine Mühe um Aufklärung des Problems.
Nun meine vollständige Darstellung.
Modulbestückung :
M035 auf 08
M052 auf 0C
M021 auf 10
M026 auf 14
Scannermodul auf 18
M027 auf 1C
M011 auf F0 und
M011 auf F4.
Wenn das Modul M035 auf 08 aus ist, ich mit Jump FC starte und entweder
mit FLOAD 0100 oder FlOAD A820 der LX400.KCC geladen wird (zwischen den
beiden unterschiedlichen LX400- Ladeadressen wurde natürlich Netzver-
sorgung ausgeschaltet) wurden identisch folgende Ergebnisse erhalten :

%Modul 08 7B00
0C FD00
14 FB00
18 EC00
1C FB00
F0 F600
F4 F600
FC A7FF
%SYSTEM
CAOSE ON
ROMC 0 OFF
RAM0 ON
RAM4 ON
RAM8 0 ON
BILD 0
In diesem Zustand lässt sich nix drucken, LX400 3 ergibt keinen PEEP, Shift und CLR- Taste ohne Wirkung.

Wenn ich Netzspannung ausschalte neu JUMP FC gebe und genauso den Druckertreiber einlade und nach LX400 3 dann Switch 08 C1 gebe und dann
wieder auf LX400 3 gehe kommt sofort der Druckerpeep und ich konnte sofort
ausdrucken.
Wenn ich die Ausgaben dann zu %Modul und %SYSTEM bei nicht aktiviertem
M035 vergleiche ist der einzige Unterschied, dass bei %MODUL nun 08 7B C1
steht statt 08 7B 00, alles andere ist gleich.

Daran ist mir im ersten Moment nix aufgefallen, aber zum Nachdenken hat mich
dann doch gebracht, wieso das M021 auf 10 überhaupt nicht aufgeführt ist bei
%MODUL ? Dafür aber auf FC A7 FF, wo ich bisher von einem Steckplatz FC gar nix wusste ?
Weiss ich nicht, aber Fakt ist nur bei angeschaltetem M035 funktioniert der
Druck, ich hab das wohl so an die 20mal probiert, es geht nur dann.

Noch zur Erklärung, warum ich als eine der Adressladevarianten FLOAD 0100
für den LX400.KCC - Treiber mit versucht habe, das hat den alleinigen Grund
weil bei MCAD303.KCC, allerdings auch anderer Modulbestückung, nur so
HRG-Ausdrucke bei MCAD303.KCC möglich waren.
Das ist aber für das Problem nicht relevant, da ja auch bei zwischendurch
erfolgter Netzabschaltung auch mit Laden des LX400.KCC auf A820 das gleiche Ergebnis bei %MODUL und %SYSTEM erhalten wurde.

Mir brummt ein bisschen jetzt der Schädel, ich hoffe, dass Du noch einen
Plan hast, warum das so ist.
Jedenfalls habe ich mich bemüht alles genau festzuhalten.

Vielen Dank im voraus für Deine Mühe.

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
01.12.2010, 22:30 Uhr
susowa




Zitat:
Wenn ich die Ausgaben dann zu %Modul und %SYSTEM bei nicht aktiviertem
M035 vergleiche ist der einzige Unterschied, dass bei %MODUL nun 08 7B C1
steht statt 08 7B 00, alles andere ist gleich.

Die Aufstellung ist i.O. und das C1 hinter 08 kommt vom Switch-Befehl, hast Du ja so eingegeben und genau so wird es dann auch zurückgelesen.


Zitat:
Daran ist mir im ersten Moment nix aufgefallen, aber zum Nachdenken hat mich
dann doch gebracht, wieso das M021 auf 10 überhaupt nicht aufgeführt ist bei
%MODUL ?

Das ist auch Ok, da das M021 keine Modulsteuerung hat und erst ab CAOS 4.5 durch einen Trick dann auch mit angezeigt wird.


Zitat:
Dafür aber auf FC A7 FF, wo ich bisher von einem Steckplatz FC gar nix wusste ?

Das ist ebenfalls richtig, wenn man die D004 angeschlossen hat, wird dessen Steuerung als "Modul" auf Steckplatz FC angezeigt.


Zitat:
Weiss ich nicht, aber Fakt ist nur bei angeschaltetem M035 funktioniert der
Druck, ich hab das wohl so an die 20mal probiert, es geht nur dann.

Das ist nicht normal, wobei natürlich der Treiber LX400.KCC selbst auch noch mitspielt und Fehler machen kann. Das wird sich aber wohl nur auf dem Treffen klären lassen, da kannst Du diese Erscheinung ja Mario mal vorführen.

In Deiner Auflistung sieht man ja durch "RAM8 0 ON", dass der RAM 8 Block 0 aktiv ist, so wie ich das schon beschrieben hatte, das M035 liegt dann immer dahinter und spielt eigentlich keine Rolle.
Der RAM8 zwar eigentlich auch nicht wirklich, da er wiederum vom IRM nach hinten verdrängt wird aber an der Stelle wird es dann etwas kompliziert beim KC85/4, da sich von 8000H - BFFFH eine ganze Menge verschiedene Speicher um die Vorherrschaft streiten.


Zitat:
Noch zur Erklärung, warum ich als eine der Adressladevarianten FLOAD 0100
für den LX400.KCC - Treiber mit versucht habe

Das geht normalerweise (ohne MCAD303.KCC) in die Hose, sprich CAOS stürzt ab, da Du durch diesen Ladeoffset bei LX400.KCC die lebensnotwendigen Arbeitszellen unter 200H überschreibst. Der beste Platz für Druckertreiber liegt von BA00H bis BFFFH.


Zitat:
Mir brummt ein bisschen jetzt der Schädel, ich hoffe, dass Du noch einen
Plan hast, warum das so ist.
Jedenfalls habe ich mich bemüht alles genau festzuhalten.

Hast Du auch fein gemacht und so kann man die Modulbestückung und die Speicherzustände objektiv sehen, dazu sind diese CAOS-Kommandos ja schliesslich auch gedacht.


MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
02.12.2010, 13:50 Uhr
Henning



Hallo Ralf,

vielen Dank für Deine Antwort, insbesondere Dein Abschlusslob ist mir
runtergegangen wie Öl.
Aber zu unserem KC-Treffen werde ich meinen Aufbau wohl nicht mit-
bringen, denn meine Angst, die mühselige Sicherung mit Steckverbinder
und allem Drumrum, damit alles funktioniert, gepaart mit der Angst noch
zusätzlich beim Transport etwas zu killen, ist zu gross. Immer berück-
sichtigen, dass ich hardwaremässig nix aber auch gar nix da reparieren
könnte, wenn was ausfällt.
Na und, dass ich beim Laden von LX400 auf 0100 keine Universalvariante
kreiert habe, dachte ich schon. Das das bei MCAD303.KCC funktioniert
hat vermutlich den Grund, dass ich ja in Forth bleibe und nix anders mache
als nur in dieser Graphiktechnik zu fummeln. Da gehe ich ja erst wieder raus,
wenn ich MCAD303 abschalte. Das ist also nur speziell für diese Anwendung.

Eine Frage würden mich aber noch interessieren :
Wie viel Modulschachttürme mit Modulen funktionieren am normalen
KC85/4 maximal, wie Du weisst habe ich bis F4 besetzt. Kann man da
noch aufstocken, ohne das das System kollabiert ?

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
02.12.2010, 19:54 Uhr
susowa




Zitat:
Aber zu unserem KC-Treffen werde ich meinen Aufbau wohl nicht mit-
bringen ...

Das war mir schon klar aber vielleicht lässt sich das ja mit anderen Systemen nachstellen, dafür bräuchte es natürlich einen Drucker ...


Zitat:
Wie viel Modulschachttürme mit Modulen funktionieren am normalen
KC85/4 maximal, wie Du weisst habe ich bis F4 besetzt. Kann man da
noch aufstocken, ohne das das System kollabiert ?

Du bist da eigentlich schon am üblichen Limit, weil dann mehr meist schon Probleme bereitet.

Aufstocken lässt sich nur noch per Busdriver, welcher dann zwischen D004 und vorhandenen Busdriver kommt, theoretisch lassen sich Grundgerät + 14 Busdriver + Floppy betreiben, dann hättest Du insgesamt 60 Modulschächte :-).

Im Handbuch zum Busdriver beschränkt der Hersteller aber bereits auf Grundgerät mit maximal 2 Aufsätzen, wenn man also die Floppy betreiben möchte, darf man eigentlich nur einen Busdriver dazwischen schalten. Mit 2 und mehr Busdrivern hast Du dann aber wieder ein anderes Problem, ab dem 2. Busdriver muss die Geräteadresse intern umgelötet werden ...

Bleib' mal lieber bei Deinem jetzigen funktionierenden Turm, das reicht den meisten anderen Anwendern ja auch. Oft gibt es in dieser Ausbaustufe schon Probleme in den beiden Fx Modulschächten der Floppy, bei mir auch, ich kann dort keinen dynamischen RAM oder I/O-Module im Interruptbetrieb nutzen, nur ROM-Module.

MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
03.12.2010, 09:37 Uhr
Henning



Hallo Ralf,

vielen Dank für Deine Auskünfte. Ja da werd ich sicher bei meiner jetzigen Konfiguration bleiben.
Das reicht mir ja ehrlich gesagt auch völlig aus.

Herzliche Grüsse von
Henning.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

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